UE4中采用的是Deffered Rendering(延迟渲染)的渲染方式
延迟渲染是先将物体的几何信息(位置坐标,法线向量,纹理坐标,反射系数etc.)存储在G-buffer(Geometry-Buffer / 几何信息缓冲区)中,再从G-buffer中读取信息,从而计算出每个像素的最终颜色。
这种渲染方式可以避免同一个像素上(在有重叠物体的情况下)进行的反复计算,从而大大提高渲染效率。
※以往的渲染方式采用Z-buffer,从画面Z坐标最深(离视线最远)的物体开始渲染,当有重叠物体时,对被遮住的物体执行“隐藏面消除”的任务,因此会产生大量多余的渲染计算。
可以理解为PS的图层,Z-buffer是由最下面的图层开始渲染,再删除重叠部分的下方图层颜色信息,重新渲染新的颜色信息;G-buffer是直接从最上面一层开始进行渲染。
但是由于半透明素材有诸多使用制约,该手法无法应用于半透明素材
(游戏中最好尽量避免使用半透明素材,透明部分越多,处理负荷越重)
半透明素材的渲染顺序有两种决定方法:
- Z sort(Z景深排序)
- Translucency Sort Priority(优先度排序)
level中actor的大小有差距(如地面和摆放在地面上的物体,目测到的景深和实际坐标中心有出入)时,可以使用该顺序。
具体顺序的设置方法可在MeshActor的详细设定中
[Rendering]→[Translucency Sort Prioruty]
进行设置。0以上的整数,从1开始依次进行渲染(如1,2,3,4……则1最先进行渲染,4最后)。
没有评论:
发表评论