屏幕空间反射 (Screen Space Reflection)
屏幕空间反射 (SSR) 覆盖是一种高清渲染管线 (High Definition Render Pipeline, HDRP) 功能,它使用屏幕的深度和颜色缓冲区来计算反射。如需了解 SSR 在 HDRP 中的工作原理,请参阅反射文档。
启用屏幕空间反射
[!include[](Snippets/Volume-Override-Enable.md)]对于此功能: 要在 HDRP 资源中启用的属性是:Lighting > Reflections > Screen Space Reflection。 要在帧设置 (Frame Settings) 中启用的属性是:Lighting > Screen Space Reflection。
使用屏幕空间反射
HDRP 天空使用体积 (Volume) 框架来计算 SSR,因此若要启用和修改 SSR 天空属性,必须将屏幕空间反射覆盖添加到场景中的体积。要向体积添加屏幕空间反射,请执行以下操作:
- 在 Scene 视图或 Hierarchy 视图中,选择一个包含 Volume 组件的游戏对象以在 Inspector 中查看该游戏对象。
- 在 Inspector 中,导航到 Add Override > Lighting,然后单击 Screen Space Reflection。 HDRP 现在会为此体积所影响的任何摄像机计算 SSR。
属性
要编辑任何 Volume 组件覆盖中的属性,请启用属性左侧的复选框。这也告诉 HDRP 使用您为 Volume 组件指定的属性值而不是使用默认值。如果禁用该复选框,HDRP 将忽略您设置的属性,并改用该属性在 Volume 组件中的默认值。
属性 | 描述 |
---|---|
Screen Edge Fade Distance | 使用滑动条控制当光线的目标靠近屏幕边界时 HDRP 淡出屏幕空间反射的距离。增大此值可增大与屏幕边缘的距离(HDRP 在此距离处开始淡出光线目标的屏幕空间反射)。 |
Max Number of Ray Steps | 设置算法在停止尝试查找与网格的交集之前可以执行的最大迭代次数。例如,如果将迭代次数设置为 1000,而算法仅需要 10 次查找交集,则算法将在 10 次迭代后终止。如果将此值设置得太低,算法可能会过早终止并突然停止反射。 |
Object Thickness | 使用滑动条控制屏幕上游戏对象的厚度。由于 SSR 算法无法区分薄的游戏对象和厚的游戏对象,该属性有助于追踪游戏对象背后的光线。算法将此属性统一应用于每个游戏对象。 |
Min Smoothness | 使用滑动条设置 HDRP 执行 SSR 追踪的最小表面平滑度。较小的值会使 HDRP 对平滑度较低的游戏对象执行 SSR 追踪。 |
Smoothness Fade Start | 使用滑动条设置 SSR 反射开始淡出的平滑度值。较小的值会使 HDRP 对平滑度较低的游戏对象淡出 SSR 反射。 |
Reflect Sky | 指示 HDRP 是否应使用 SSR 处理天空反射。如果禁用此属性,则反射天空的像素将使用反射层级视图的下一个级别。 注意:SSR 使用深度缓冲区来计算反射,而 HDRP 不会将透明游戏对象添加到深度缓冲区。如果启用此属性,则颜色缓冲区中出现在天空上方的透明游戏对象可能会导致视觉瑕疵和不正确的反射效果。这是 SSR 技术的常见局限。 |