Version: Unity 6.0 (6000.0)
语言 : 中文
URP 中的屏幕空间环境光遮蔽 (SSAO)
将屏幕空间环境遮避渲染器功能添加到 URP 渲染器

URP 中的屏幕空间环境光遮蔽简介

屏幕空间环境光遮蔽效果会实时地使折痕、孔洞、交叉点和彼此靠近的表面变暗。在现实世界中,这些区域往往会阻挡或遮挡周围的光线,因此它们会显得更暗。

URP 将屏幕空间环境光遮蔽 (SSAO) 效果实现为渲染器功能。它适用于通用渲染管线 (URP) 提供的每个着色器以及您创建的任何自定义不透明 Shader Graph。

注意:SSAO 效果是一种渲染器功能,独立于 URP 中的后期处理效果。此效果不依赖于体积 (Volume),也不与体积相互作用。

以下各图显示的场景分别将环境光遮蔽效果关闭、打开以及只有环境光遮蔽纹理。

关闭环境光遮蔽效果的场景。
关闭环境光遮蔽效果的场景。
开启环境光遮蔽效果的场景。
开启环境光遮蔽效果的场景。
仅具有环境光遮蔽纹理的场景。
仅具有环境光遮蔽纹理的场景。

实现详细信息

SSAO 渲染器功能使用法线矢量来计算表面上每个点在环境光照下的暴露程度。

URP 10.0 采用 DepthNormals Pass 代码块为当前帧生成法线纹理 _CameraNormalsTexture。默认情况下,SSAO 渲染器功能使用此纹理来计算环境光遮蔽值。

如果采用自定义 SRP,并且不想在着色器中实现 DepthNormals Pass 代码块,则可以使用 SSAO 渲染器功能并将其来源 (Source) 属性设置为深度 (Depth)。在这种情况下,Unity 不使用 DepthNormals Pass 来生成法线矢量,而是使用深度纹理来重建法线矢量。

Source 属性中选择 Depth 选项将启用法线质量 (Normal Quality) 属性。此属性中的选项(Low、Medium 和 High)决定了 Unity 在从深度纹理重建法线矢量时采用的深度纹理样本数。每个质量级别的样本数为:低 (Low):1;中 (Medium):5;高 (High):9。

URP 中的屏幕空间环境光遮蔽 (SSAO)
将屏幕空间环境遮避渲染器功能添加到 URP 渲染器
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961