动态反射优化
如果未正确设置场景中的动态反射,则可能会严重降低性能。例如,由于默认情况下平面反射考虑了场景中的所有几何图形,因此平面反射使多边形计数加倍。在大型和繁重的场景中可能会引起性能问题。
作为替代方案,您可以尝试使反射次数尽可能少。但是,有一种方法可以优化动态反射的使用而不会造成视觉损失。
每个曲面反射多边形的数量可以使用 Content Profiler 工具的 Surfaces 选项卡进行检查。
使用反射罩#
Reflection蒙版 允许控制将动态反射呈现到反射相机视口中。可以为动态Environment Probes和平面反射设置此蒙版。
优化平面反射#
要使用平面反射优化场景,可以应用以下方法:设置场景,以便仅渲染所需的平面反射,并为其他反射使用较少消耗的Screen Space Reflections (SSR)。示例工作流如下:
- 决定视口蒙版的哪一位负责对象的反射。
- 打开“摄像机设置”窗口,并启用摄像机Reflection Viewport掩码中的选定位。
- 在Materials_Hierarchy中,选择反射材质,然后在“材质编辑器”的Parameters选项卡的“平面反射”的Viewport Mask中启用相同的位。
- 在“世界层次结构”中,选择要反射的节点,然后转到Parameters窗口的Node选项卡。
- 在Surfaces部分中,为所有应反射的表面启用Viewport Mask中的选定位。
您可以创建特殊的低多边形LOD曲面,该曲面仅用于反射。这样的LOD的视口蒙版不应与摄影机的视口蒙版匹配,以将其从渲染中排除。
- 在“材质层次结构”中,选择应反映的节点的材质,然后在“材质编辑器”的Common选项卡的Viewport Mask中启用所选位。
在下图中,平面的反射视口蒙版与相机反射视口蒙版和红色实物球及其材质的视口蒙版具有相同的匹配位(或多个位)。 其他材质球的视口罩与反射相机视口罩和/或平面反射视口罩没有匹配的位,因此不会被反射:
遮罩的平面反射 - 启用Screen Space Reflections产生场景中其他节点的反射:在菜单栏上,将Rendering -> Features -> SSR选项打开。
还应为反射材质启用SSR效果:转到States选项卡的Post Processing部分,并检查是否启用了SSR选项。遮罩的平面反射+ SSR
优化环境探针反射#
可以按照与上述相同的方式优化Environment Probes提供的动态反射。要为Environment Probe指定Reflection Viewport蒙版,请转到Parameters窗口的Environment Probe部分,然后在Baking Settings部分中设置Reflection Viewport Mask参数。
在下面的左图中,Environment Probe的反射视口蒙版与摄影机的Reflection Viewport蒙版以及红色实物球及其材质的Viewport蒙版匹配。在右图中,Environment Probe的Reflection Viewport遮罩与相机的Reflection Viewport遮罩不匹配:
设置反射距离#
允许优化动态反射渲染的另一种方法是设置关闭反射的距离:
- 在菜单栏中,选择Windows -> Settings并转到打开的“设置”窗口的Visibility Distances部分。
- 对于Dynamic Reflections参数,请指定距相机的距离,从该距离开始不渲染反射。