UE4 半透明材质的渲染顺序

Deffered Rendering
UE4中采用的是Deffered Rendering(延迟渲染)的渲染方式
延迟渲染是先将物体的几何信息(位置坐标,法线向量,纹理坐标,反射系数etc.)存储在G-buffer(Geometry-Buffer / 几何信息缓冲区)中,再从G-buffer中读取信息,从而计算出每个像素的最终颜色。
这种渲染方式可以避免同一个像素上(在有重叠物体的情况下)进行的反复计算,从而大大提高渲染效率。
※以往的渲染方式采用Z-buffer,从画面Z坐标最深(离视线最远)的物体开始渲染,当有重叠物体时,对被遮住的物体执行“隐藏面消除”的任务,因此会产生大量多余的渲染计算。
可以理解为PS的图层,Z-buffer是由最下面的图层开始渲染,再删除重叠部分的下方图层颜色信息,重新渲染新的颜色信息;G-buffer是直接从最上面一层开始进行渲染。

但是由于半透明素材有诸多使用制约,该手法无法应用于半透明素材
(游戏中最好尽量避免使用半透明素材,透明部分越多,处理负荷越重)

半透明素材的渲染顺序有两种决定方法:
  • Z sort(Z景深排序)
       以物体的要素坐标中心(与pivot中心无关)为判断标准,从景深最远的物体开始依次渲染
  • Translucency Sort Priority(优先度排序)
       由用户自己决定的优先顺序来依次进行渲染。
       level中actor的大小有差距(如地面和摆放在地面上的物体,目测到的景深和实际坐标中心有出入)时,可以使用该顺序。
       具体顺序的设置方法可在MeshActor的详细设定中
      [Rendering]→[Translucency Sort Prioruty]
       进行设置。0以上的整数,从1开始依次进行渲染(如1,2,3,4……则1最先进行渲染,4最后)。

没有评论:

发表评论