屏幕空间全局光照 (Screen Space Global Illumination)
屏幕空间全局光照 (SSGI) 覆盖是一种高清渲染管线 (High Definition Render Pipeline, HDRP) 功能,它使用屏幕的深度和颜色缓冲区来计算漫射光反弹。
HDRP 在此覆盖的基础上实现光线追踪全局光照。这意味着在 Inspector 中可见的属性会根据是否启用光线追踪而变化。
启用屏幕空间全局光照
要在场景中使用此功能,必须先为项目启用此功能,然后为摄像机启用此功能。要在项目中启用功能,请使用 HDRP 资源,而要为摄像机启用功能,请使用帧设置 (Frame Settings)。您可以使用默认帧设置 (Default Frame Settings) 为所有摄像机启用功能,或者通过覆盖每个摄像机单独的帧设置 (Frame Settings) 为特定摄像机启用功能。
对于此功能: 要在 HDRP 资源中启用的属性是:Lighting > Screen Space Global Illumination。 要在帧设置 (Frame Settings) 中启用的属性是:Lighting > Screen Space Global Illumination。
使用屏幕空间全局光照
HDRP 天空使用体积 (Volume) 框架来计算 SSGI,因此若要启用和修改 SSGI 天空属性,必须将屏幕空间全局光照覆盖添加到场景中的体积。要向体积添加屏幕空间全局光照,请执行以下操作:
- 在 Scene 视图或 Hierarchy 视图中,选择一个包含 Volume 组件的游戏对象以在 Inspector 中查看该游戏对象。
- 在 Inspector 中,导航到 Add Override > Lighting,然后单击 Screen Space Global Illumination。 HDRP 现在会为此体积所影响的任何摄像机计算 SSGI。
API
要在运行时访问和控制此覆盖,请使用体积脚本 API。由于体积系统的工作原理,可以使用与标准 Unity 组件不同的方式来编辑属性。也需要注意其他细微差别,例如每个属性都有一个 overrideState。这个参数向体积系统指示是使用你设置的属性值,还是使用存储在体积配置文件中的默认值。有关如何正确使用 API 的信息,请参阅体积脚本 API。
属性
要编辑任何 Volume 组件覆盖中的属性,请启用属性左侧的复选框。这也告诉 HDRP 使用您为 Volume 组件指定的属性值而不是使用默认值。如果禁用该复选框,HDRP 将忽略您设置的属性,并改用该属性在 Volume 组件中的默认值。
在 Inspector 中可见的属性会根据是否为此效果启用了光线追踪而变化:
若要不使用光线追踪,而是改用屏幕空间全局光照解决方案,请在 Inspector 中禁用 Ray Tracing,并参阅屏幕空间部分的属性列表。
若要使用光线追踪,请在 Inspector 中启用 Ray Tracing,并参阅光线追踪部分的属性列表。
屏幕空间
属性 | 描述 |
---|---|
Enable | 指示 HDRP 是否处理此效果的体积影响下摄像机的 SSGI。 |
Ray Tracing | 指示 HDRP 是否使用光线追踪来计算全局光照。如果启用此属性,它将完全改变此体积覆盖的实现方式,并显示出一组新的属性来控制光线追踪全局光照。 有关光线追踪全局光照的信息,请参阅光线追踪全局光照。 有关控制光线追踪全局光照的属性的信息,请参阅下面的光线追踪属性部分。 |
Quality | 指定效果的总体质量。质量越高,效果处理起来所需的资源消耗就越大。 |
Full Resolution | 指定 HDRP 是否以全分辨率计算 SSGI。 |
Ray Steps | 用于计算 SSGI 的射线步数。如果将此值设置为较高的值,则效果的质量会提高,但是处理起来会占用更多的资源。 |
Filter Radius | 在光线追踪后用于平滑效果的过滤器大小。较高的值意味着结果更模糊,并且占用更多的资源。 |
Depth Tolerance | 使用滑动条控制在比较屏幕上游戏对象的深度与深度缓冲区时的容差。由于 SSR 算法无法区分薄的游戏对象和厚的游戏对象,该属性有助于追踪游戏对象背后的光线。算法将此属性统一应用于每个游戏对象。 |
光线追踪
属性 | 描述 |
---|---|
Ray Tracing | 启用此选项可以使 HDRP 使用光线追踪来评估间接漫射光照。这将提供额外的属性可用于调整光线追踪全局光照的质量。 |
LayerMask | 定义需要 HDRP 处理该光线追踪效果的层。 |
Mode | 定义 HDRP 应以 Performance 还是 Quality 模式评估效果。 仅当 HDRP 资源中的 Supported Ray Tracing Mode 设置为 Both 时,才显示此属性。 |
Quality | 指定一个预设以供 HDRP 用于填充以下嵌套属性的值。选项包括: • Low:这是强调性能胜于质量的预设。 • Medium:这是在性能和质量之间达成平衡的预设。 • High:这是强调质量胜于性能的预设。 • Custom:允许分别覆盖每个属性。 仅当 Mode 设置为 Performance 时,才显示此属性。 |
Max Ray Length | 控制最大光线长度。此值越高,光线追踪全局光照所需的资源消耗就越大。 |
Clamp Value | 设置一个值来控制 HDRP 用来钳制预显示值的阈值。这会减小值的范围,并使全局光照对降噪更稳定,但会降低质量。 |
Full Resolution | 启用此功能可以将光线预算增加到每帧每像素一条光线。禁用此功能可以将光线预算降低到每帧每四个像素一条光线。 仅当 Mode 设置为 Performance 时,才显示此属性。 |
Upscale Radius | 控制 HDRP 用于构建 GI 的比例放大器的半径。半径越大,HDRP 用于构建 GI 的邻居越多,质量越好。 仅当 Mode 设置为 Performance 时,才显示此属性。 |
Sample Count | 控制每帧每像素的光线数。增大此值将线性增加执行时间。 仅当 Mode 设置为 Quality 时,才显示此属性。 |
Bounce Count | 控制全局光照光线可以反弹的次数。增大此值将呈指数增加执行时间。 仅当 Mode 设置为 Quality 时,才显示此属性。 |
Denoise | 启用此选项可以启用由 HDRP 用于从光线追踪全局光照中消除噪点的时空滤波器。 |
- Half Resolution Denoiser | 启用此功能可以采用半分辨率评估时空滤波器。这样可以减少降噪过程消耗的资源量,但会降低质量。 |
- Denoiser Radius | 设置时空滤波器的半径。 |
- Second Denoiser Pass | 启用此功能可以处理第二个降噪器通道。这有助于从该效果中消除噪点。 |
限制
光线追踪全局光照
目前,HDRP 中的光线追踪不支持贴花。这意味着光线追踪全局光照不会影响场景中的贴花。 渲染反射探针时不支持屏幕空间全局光照。