水优化
Global Water是另一个会严重影响性能的对象。尽管已对其进行了优化,以确保GPU不会过载,但仍可能需要进行一些其他优化。
优化渲染设置#
还有一组水渲染设置,这些设置也可能会降低性能。可以在Settings窗口的Water部分中找到它们。
优化屏幕空间反射#
对于水对象,可以渲染屏幕空间反射而不是平面反射。它提高了性能,因为这样的反射不依赖于反射几何体的复杂性。
您可以通过以下方式之一为水对象启用SSR效果:
- 在菜单栏中,选择Rendering -> Water -> SSR。
- 在菜单栏中,选择Windows -> Settings,然后转到Water部分。在这里,您可以启用 SSR Enabled 参数。
在“设置” 窗口中,您还可以指定SSR的其他设置:设置反射的质量并启用/禁用提高的准确性
但是,请记住,这些设置会影响性能,如下所示:
- 反射质量更高,性能更低
- 启用提高准确性降低性能。但是,也会减少一些视觉伪像。
在水上渲染灯#
您可以禁用在水面上渲染某种类型的所有光源以提高性能。
- Render Environment Probes 打开/关闭水面上所有环境探针的渲染。
- Render Voxel Probes 打开/关闭水面上所有体素探针的渲染。
- Render Lights 打开/关闭水面上所有全向和投影光源的渲染。
各向异性质量#
Anisotropy Quality参数指定水纹理的各向异性级别(各向异性过滤的程度)。提高质量可以在一定距离上提供更好的纹理细节,但是,这对性能有很大的影响。因此,找到最合适的值以保持视觉质量和性能之间的平衡。
Refraction Quality#
Refraction Quality参数指定水的折射质量:较高质量,较低性能。
Shoreline Wetness#
为海岸线附近的对象启用的潮湿效果也可能会影响性能。如果可能的话,请尝试禁用它以提高水渲染的性能。
Underwater Shafts#
如果照相机永远不会在水下,则可以禁用水下竖井的渲染。
Field 对象#
如果在 Global Water 参数 中启用了水与FieldHeight和/或FieldShoreline对象的交互,则可以通过设置 resolution Field Height and Field Height和Settings window: the 较高分辨率,较低性能。
另一个与字段相关的设置是Field Precision 32 bits。它会降低用于野外对象的纹理的精度,从而提高性能。
设置海岸线渲染#
如果设置不正确,用 Field Shoreline 对象创建的海岸线区域可能会降低水的性能。Global Water 提供了几个与海岸线相关的选项,可以帮助获得性能。
Normal和Geometry选项会影响海岸线波浪的几何形状渲染。当海浪几乎不可见时(例如,仅从上方观察海岸线时),请禁用它们。在某些情况下,仅使用Geometry选项足以模拟水面的变形。
如果两个选项都被禁用,则也禁用High Precision选项,该选项可以改善海岸线纹理的相邻像素之间的插值。这种选项减少了在分离水上和水下的水线处明显的踩踏伪影。但是,如果对海岸线波浪禁用了波浪几何图形渲染,则无需进行此类额外计算。
如上所述,当从上方观察水面时,通常无法渲染波浪的几何形状。因此,您可以禁用平滑焦散的Caustic Distortion选项。它将获得无视觉损失的性能。
另一个也会影响性能的选项是Foam。它可以为海岸线区域提供泡沫。如果不需要泡沫模拟,请禁用该选项以提高性能。
因此,您可以通过启用泡沫效果同时禁用几何,焦散和改进的插值功能来模拟从平面观察的海岸线区域,因为它们几乎不会引起明显的性能提升。
如您所见,上图的海岸线之间几乎没有视觉差异。
设置水参数#
Global Water提供了几个参数,也可以影响水性能:
- Steepness Scale响波浪的锐度。波浪看起来更逼真,但是,如果从远处观察到水,则可以禁用此效果。
- Underwater DOF为水下和水下拼接提供自由度效果。如果相机永远不会掉入水下,也可以将其禁用。
- Caustics可以渲染水面折射的光线。如果不需要效果,可以将其禁用。
- Caustics Distortion消除焦散。仅在为水启用Caustics时可用。如果不需要平滑,则可以禁用该选项以获得性能。
优化平面反射#
Global Water对象允许您在水表面上使用平面反射。
但是,高分辨率的平面反射可能会大大降低性能。因此,您可以尝试减小平面反射贴图的大小:在 Parameters 的平面 Planar Reflection,为Map Size参数指定适当的值。
但是,请记住,低分辨率的反射很少会提供预期的视觉效果。
您还可以使用反射蒙版来控制将平面反射渲染到摄影机视口中。例如,您可以仅渲染某些平面反射,而其他区域则替换为屏幕空间反射。