UE4平面反射

UE4 支持实时平面反射,它比屏幕空间反射(SSR)更加精确,但渲染开销较高。渲染开销较高的原因来自平面反射的工作原理。因为平面反射实际上将从反射方向再次对关卡进行渲染

在渲染方面,屏幕空间反射(SSR)比平面反射更为高效,但可靠性较差。下图将SSR的缺陷和平面反射进行了对比。

屏幕空间反射:左图展示了屏幕空间反射的局限性。注意图像边缘出现了大量"泄露",或者说面向摄像机视角的池塘部分上的反射开始淡出。出现此现象的原因是SSR无法反射画面外的物体

平面反射:右图为相同的关卡,启用的是平面反射。注意图像中,甚至池塘的两侧和边缘均未出现"泄露",反射保持了连贯和精准。原因是平面反射能够无视摄像机视角,反射画面外的物体

启用平面反射

平面反射Actor被添加到关卡后,附近的反射材质将自动受到影响放置在关卡中的静态网格体的法线用于反射的失真,模拟波纹效果

平面反射Actor的属性

平面反射Actor的场景采集属性:

平面反射的限制

  1. 平面反射会导致整个场景被渲染两次,所以要把一半的帧时间花在渲染线程和GPU上。
  2. 限制世界场景中放置的平面反射数量。很多时候,一个还是多个是问题。
  3. 适当地调整它的大小,使其能够在不可见的情况下被剔除
  4. 渲染平面反射角色的开销直接来自当前在关卡中进行渲染的内容。当启用此功能时,因为这些开销不随着屏幕百分比缩放,所以存在大量三角形和绘制调用的场景将遭受最多的性能问题

平面反射性能

  1. 在项目中启用平面反射可实现相当精确的反射,但该功能会对项目性能产生直接影响。以下部分将说明在针对高端 PC 的项目和针对移动设备的项目中启用平面反射后的性能影响。
  2. 高端PC中平面反射对关卡的视觉效果提升十分大,使用全动态光影对性能的影响也极大—约带来略小于一倍的时间。使用静态/预计算光影的关卡再次进行平面反射渲染时效率更高
  3. 移动设备中,可以只需要一个平面反射,将其缩放匹配关卡中放置的水面静态网格体即可。可能仅仅需要1,2ms的时间即可。

本文来源于网络整理,由作者木偶人发布,其观点不代表番茄鱼的立场,转载请联系原作者。
1

发表评论