阴影 (Shadows)
阴影体积 (Shadows Volume) 组件覆盖可以控制 HDRP 渲染精准光源阴影级联和阴影的最大距离。该覆盖使用级联分割来控制方向光在与摄像机的距离上投射的阴影质量。
使用阴影
阴影使用体积 (Volume) 框架,因此若要启用和修改阴影属性,必须将阴影覆盖添加到场景中的体积。
在创建 Scene Settings 游戏对象(菜单:GameObject > Rendering > Scene Settings)时,阴影覆盖是默认设置。还可以手动向体积添加阴影覆盖。要向体积添加阴影,请执行以下操作:
- 在 Scene 视图或 Hierarchy 视图中,选择一个包含 Volume 组件的游戏对象以在 Inspector 中查看该游戏对象。
- 在 Inspector 中,导航到 Add Override > Shadowing,然后单击 Shadows。现在可以使用阴影覆盖来更改此体积的阴影设置。
API
要在运行时访问和控制此覆盖,请使用体积脚本 API。由于体积系统的工作原理,可以使用与标准 Unity 组件不同的方式来编辑属性。也需要注意其他细微差别,例如每个属性都有一个 overrideState。这个参数向体积系统指示是使用你设置的属性值,还是使用存储在体积配置文件中的默认值。有关如何正确使用 API 的信息,请参阅体积脚本 API。
属性
要编辑任何 Volume 组件覆盖中的属性,请启用属性左侧的复选框。这也告诉 HDRP 使用您为 Volume 组件指定的属性值而不是使用默认值。如果禁用该复选框,HDRP 将忽略您设置的属性,并改用该属性在 Volume 组件中的默认值。
属性 | 描述 |
---|---|
Working Unit | 使用下拉选单选择要用于定义级联分割的单位。 • Metric:以米为单位定义级联分割和边界。 • Percent:将级联分割和边界定义为 Max Distance 的百分比。 |
Max Distance | 设置 HDRP 渲染阴影的最大距离(以米为单位)。HDRP 将此属性用于精准光源,并作为最终级联的最后边界。 |
Transmission Multiplier | 设置方向光在较厚对象上透射的光线时由 HDRP 应用于该光线的乘数。 |
Cascade Count | 使用滑动条设置方向光可以投射阴影的级联数。级联作为阴影的细节级别 (LOD)。每个级联都有自己的阴影贴图,级联区域随着距离摄像机越远而逐渐变大。HDRP 在每个级联区域上分布相同的分辨率阴影贴图,因此靠近摄像机的级联具有比摄像机中的级联更高阴影质量。 |
Split 1 | 设置第一级联和第二级联之间的分割距离。Working Unit 定义了该属性使用的单位。 |
Split 2 | 设置第二级联和第三级联之间的分割距离。Working Unit 定义了该属性使用的单位。 |
Split 3 | 设置第三级联和最终级联之间的分割距离。Working Unit 定义了该属性使用的单位。 |
Border 1 | 设置第一级联和第二级联分割之间的边界大小。HDRP 会在此边界上淡化这两部分之间的阴影级联。Working Unit 定义了该属性使用的单位。 |
Border 2 | 设置第二级联和第三级联分割之间的边界大小。HDRP 会在此边界上淡化这两部分之间的阴影级联。Working Unit 定义了该属性使用的单位。 |
Border 3 | 设置第三级联和最终级联分割之间的边界大小。HDRP 会在此边界上淡化这两部分之间的阴影级联。Working Unit 定义了该属性使用的单位。 |
Border 4 | 设置最终级联分割终点的边界大小。HDRP 在此距离上淡出最终阴影级联。Working Unit 定义了该属性使用的单位。 |
可视化阴影级联
可使用阴影覆盖在 Inspector 中可视化级联大小,以及在场景中实时显示的级联边界。
在 Inspector 中,使用 Cascade Splits 栏可以显示每个级联相对于彼此的大小。也可以使用此栏来进行以下操作:
- 移动每个级联分割的位置。要执行此操作,请单击分割上方的选项卡并进行拖动以调整该级联分割的位置。
- 移动每个边界的位置。要执行此操作,请单击分割下方的耳片并进行拖动以调整边界的位置。
在 Scene 视图和 Game 视图中,级联可视化功能允许您查看场景中每个级联的边界。每种颜色代表一个单独的级联,颜色与 Cascade Splits 栏中的颜色相匹配。这样可以查看哪个颜色区域匹配哪个级联。
在 Scene 视图和 Game 视图中,可以使用级联可视化功能来查看场景中每个级联的边界。每种颜色代表一个单独的级联,颜色与 Cascade Splits 栏中的颜色相匹配。要启用级联可视化功能,请单击 Shadows 属性列表顶部的 Show Cascades 按钮。现在可以在 Scene 视图和 Game 视图中查看阴影贴图。
- 可以使用 Scene 视图摄像机在场景中移动,并快速显示不同区域的阴影贴图。
- 可以使用 Game 视图摄像机从终端用户的视角显示阴影贴图。在运行模式下,可以使用 Show Cascades 功能,如果你有某种控制摄像机位置和旋转的方法,并希望在项目中查看不同视角的阴影贴图,这将非常有用。