可根据项目的图形和性能需求,对 URP 的屏幕空间环境光遮蔽 (SSAO) 渲染器功能的属性进行最佳配置。
本节将介绍 SSAO 渲染器功能的属性。
该属性定义了 SSAO 效果使用的噪声类型。
可用选项:
性能影响:微乎其微。
此属性定义变暗效果的强度。
性能影响:微乎其微。
当 Unity 计算环境光遮蔽 (Ambient Occlusion) 值时,SSAO 效果会从当前像素开始在该半径内采样法线纹理。
性能影响:高。
较低的 Radius 值可提高性能,因为 SSAO 渲染器功能对更接近源像素的像素进行采样。这样可以提高缓存效率。
在距离摄像机较近的对象上计算环境光遮蔽通道比距离摄像机较远的对象花费的时间更长。这是因为 Radius 属性随对象缩放。
SSAO 不适用于距离摄像机远于此距离的物体。
较低的值可提高包含许多远处物体的场景中的性能。在对象较少的较小场景中,性能改进较小。
性能影响:取决于应用程序。
此属性定义了该效果在暴露于直接光照下的区域中的可见程度。
这些图像显示了 Direct Lighting Strength 值如何根据它们是否位于阴影中来改变 SSAO 效果。
A.显示 Direct Lighting Strength 对光照区域中 SSAO 效果的影响。
B.显示 Direct Lighting Strength 对一个或多个阴影覆盖区域中 SSAO 效果的影响。
性能影响:微乎其微。
选择法线矢量值的源。SSAO 渲染器功能使用法线矢量来计算表面上每个点在环境光照下的暴露程度。
可用选项:
DepthNormals 通道生成的法线纹理。此选项可让 Unity 使用更准确的法线纹理。DepthNormals 通道来生成法线纹理。SSAO 改用深度纹理来重建法线矢量。仅当希望避免在自定义着色器中使用 DepthNormals Pass 代码块时,才应使用此选项。选择此选项将启用 Normal Quality 属性。性能影响:取决于应用程序。
在选项 Depth Normals 和 Depth 之间切换时,性能可能会有所不同,具体取决于目标平台和应用程序。在广泛的应用中,性能差异很小。在大多数情况下,Depth Normals 会产生更好的视觉效果。
有关 Source 属性的更多信息,请参阅实现详细信息。
在 Source 属性中选择 Depth 选项时将激活此属性。
更高质量的法线矢量会产生更平滑的 SSAO 效果。
可用选项:
性能影响:中。
在某些情景中,Depth 选项产生的结果与 Depth Normals 选项相当。但在特定情况下,Depth Normals 选项可显著提高质量。以下几个图显示了这种情况的一个示例。
有关更多信息,请参阅实现详细信息。
选中此复选框会将计算环境光遮蔽效果的通道的分辨率降低到二分之一。
环境光遮蔽通道的分辨率降低了两倍,需要处理的像素数也减少了四倍。这会显著降低 GPU 的负担,但会降低效果的细节级别。
性能影响:非常高。
启用 After Opaque 时,Unity 将在不透明渲染通道之后计算并应用 SSAO 效果。当使用 Depth 作为法线向量值的 Source 时,这可以提高性能,因为 Unity 不会执行跳过深度预通道来计算 SSAO,而是使用现有的深度值。但是,这会导致接收烘焙遮挡和实时遮挡的区域过度变暗。
After Opaque 还可以提高使用基于瓦片的渲染的移动设备的性能。
性能影响:中。
该属性定义了 Unity 应用于 SSAO 效果的模糊质量。更高质量的模糊可产生更平滑、更高保真度的效果,但需要更多的处理能力。
可用选项:
性能影响:非常高。
对于每个像素,SSAO 渲染功能会在指定半径内获取选定数量的样本来计算环境光遮蔽值。较高的值会使效果更平滑、更细致,但也会降低性能。
可用选项:
性能影响:高。
样本数量 (Sample Count) 值从 4 增加到 8 会使 GPU 上的计算负载加倍。