Language:
Page Info
Engine Version:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

环境遮挡(AO)

Screen Space Ambient Occlusion (屏幕空间环境遮挡)是由于遮挡而造成的近似于光衰减的效果。 这个效果的最佳应用是进行细微调整,除了可用于标准的全局光照外,还可用于角落、缝隙或其他地方来使其变暗,从而创建更为自然、真实的外观。

Ambient Occlusion - Off

Ambient Occlusion - Visualized

Ambient Occlusion - Final

无环境遮挡的场景

仅使用环境遮挡的场景

使用场景遮挡的场景

此效果通过 SSAO(屏幕空间环境遮挡)方式来实现,这表示环境遮挡的程度是在屏幕空间的延迟渲染中进行计算的。 我们使用深度缓冲器以及 GBuffer 中的法线(参阅延迟着色)。这意味着法线贴图细节将会影响运算结果。 在虚幻引擎4中,该效果被应用于 AmbientCubemap(环境立方体贴图)。 于此处我们使用阴影贴图,它不会影响直接光照。

您可以通过使用 "Visualize GBuffer"(可视化 GBuffer)视图模式(请参阅视图模式),或通过显示标识“可视化环境遮挡”来直接查看 AO(环境遮挡)值。

由于 AO(环境遮挡)是G Buffer 的一部分,它也可以由材质来输出。 SSAO(屏幕空间环境遮挡)和材质 AO(环境遮挡)会组合起来,从而形成更暗的 AO(环境遮挡)。

属性

描述

Intensity (强度)

控制全局的环境遮挡数量。 值为0.0意味着无环境遮挡;值为1.0表示完全环境遮挡。

AO Intensity - 0.0

AO Intensity - 1.0

0.0

1.0

Radius (半径)

定义了虚幻单位中的半径。 由于样本数量有限,更大的半径值会使运行变得更为缓慢(贴图缓存造成的垃圾)并显示出更多的失真。

AO Radius - 40.0

AO Radius - 80.0

AO Radius - 200.0

40.0

80.0

200.0

Radius in WorldSpace (世界空间中的半径)

如启用,AO Radius (环境遮挡半径)属性值将被认为位于世界空间内。 否则,则认为其位于视图空间内。

Distance (距离)

用来防止物体周围的暗色光晕的调整参数。 由于 SSAO(屏幕空间环境遮挡)技术且仅有zbuffer值,因此它无法获知物体的厚度。

AO Distance - 100.0

AO Distance - 1200.0

100.0

1200.0

请注意在右侧的示例中,角色的角位置处的光晕。 由于距离值被设置得非常大,造成了角部在计算其后方表面的遮挡时,使用了不切实际的算法。

Power (力度)

控制计算的变暗特效的力度。

AO Power - 1.0

AO Power - 4.0

AO Power - 10.0

1.0

4.0

10.0

Bias (偏移)

用来修改 AO (环境遮挡)细节。 为防止一定距离内的精度失真,我们需要设置一些偏移。 >0,以虚幻单位为单位,默认值(3.0)适用于平整表面,但会降低细节。