扩散配置文件覆盖 (Diffusion Profile Override)
高清渲染管线 (High Definition Render Pipeline, HDRP) 允许同时在视图中使用最多 15 个自定义的扩散配置文件。要在场景中使用 15 个以上的自定义扩散配置文件,可以在体积 (Volume) 内使用扩散配置文件覆盖。这样就可以指定在某个区域中(如果体积是全局的,则在场景中)使用哪些扩散配置文件。
使用扩散配置文件覆盖
要向体积添加扩散配置文件覆盖,请执行以下操作:
- 在 Scene 视图或 Hierarchy 中选择 Volume 组件以在 Inspector 中查看该组件。
- 在 Inspector 中,导航到 Add Override,然后单击 Diffusion Profile Override。
API
要在运行时访问和控制此覆盖,请使用体积脚本 API。由于体积系统的工作原理,可以使用与标准 Unity 组件不同的方式来编辑属性。也需要注意其他细微差别,例如每个属性都有一个 overrideState。这个参数向体积系统指示是使用你设置的属性值,还是使用存储在体积配置文件中的默认值。有关如何正确使用 API 的信息,请参阅体积脚本 API。
属性
要编辑任何 Volume 组件覆盖中的属性,请启用属性左侧的复选框。这也告诉 HDRP 使用您为 Volume 组件指定的属性值而不是使用默认值。如果禁用该复选框,HDRP 将忽略您设置的属性,并改用该属性在 Volume 组件中的默认值。
属性 | 描述 |
---|---|
Diffusion Profile List | 为每个字段指定扩散配置文件以创建此体积中的材质可以使用的扩散配置文件列表。单击加号图标可以添加另一个字段。要从列表中删除扩散配置文件,请在列表中将其选中,然后单击减号图标。 |
Fill Profile List With Scene Materials | 单击此按钮可删除 Diffusion Profile List 中的每个扩散配置文件,然后向该列表中重新填充此局部体积范围内的材质使用的扩散配置文件。请注意,这不适用于使用 ShaderGraph 着色器的材质。 仅当从 Volume 组件中的 Mode 下拉选单选择 Local 时,此属性才可用。向此游戏对象添加碰撞体可以设置体积的范围。 |
详细信息
如果材质引用的扩散配置文件不在可用扩散配置文件的列表中,则该材质会使用具有绿色色调的默认扩散配置文件。
如果带有扩散配置文件覆盖的体积是局部体积,则会出现 Fill Profiles With Scene Materials 按钮。单击此按钮可从体积范围内的材质中获取扩散配置文件,并用它们填充 Diffusion Profile List。请注意,这不适用于使用 ShaderGraph 着色器的材质。
如果多个体积发生重叠并同时影响摄像机,则 HDRP 会在同一个体积覆盖属性的多个值之间进行插值,以便处理重叠值。但是,无法插入 Diffusion Profile List 的最终值。相反,HDRP 从具有最高优先级 (Priority) 的体积中选择 Diffusion Profile List。
查找材质使用的扩散配置文件会有少量的开销性能。这意味着使用的扩散配置文件越少,此过程就越快。可以使用扩散配置文件覆盖来优化搜索过程,而无需限制使用的扩散配置文件数量。如果有多个场景,且每个场景仅使用一个扩散配置文件,则可以在每个场景中的全局体积上使用此覆盖来选择每个场景的扩散配置文件,而不是将每个场景中的扩散配置文件放入 HDRP 资源中。这样可以降低着色器中搜索的资源消耗量。如果场景包含大量过度绘制 (overdraw) 来产生树叶和植被等视觉效果,此方法将特别有效。