在不更改图表的情况下修改 Surface 选项
描述
启用 Allow Material Override 可以在材质检查器中修改一组特定的属性,适用于通用渲染管线(URP)光照和非光照 Shader Graph,以及内置渲染管线的 Shader Graph。
| 属性 | URP 光照 | URP 非光照 | 内置渲染管线 |
| Workflow Mode | 详见 URP 的 Lit Shader 文档。 | 不适用。 | 不适用。 |
| Receive Shadows | |||
| Cast Shadows | 仅在此 Shader Graph 启用 Allow Material Override 时显示此属性。启用该属性可使使用此 Shader 的 GameObject 在自身和其他 GameObject 上投射阴影。详见 ShaderLab: ForceNoShadowCasting 子着色器标签。 | 不适用。 | |
| Surface Type | 详见 URP 的 Lit 和 Unlit Shaders 文档。 | 在内置渲染管线中,该功能与 URP 中的行为相同。请查阅 URP 文档。 | |
| Render Face | 在内置渲染管道中,该功能与 URP 中的行为相同。请查阅 URP 文档。 | ||
| Alpha Clipping | 在内置渲染管道中,该功能与 URP 中的行为相同。请查阅 URP 文档。 | ||
| Depth Write | 仅在启用 Allow Material Override 时显示此属性。 此属性用于设置 GPU 在使用此 Shader 渲染几何体时是否向深度缓冲区(depth buffer)写入像素。 选项:
| ||
| Depth Test | 仅在启用 Allow Material Override 时显示此属性。 此属性用于设置深度测试条件,未通过深度测试的像素不会被绘制。如果选择 LEqual 以外的任何选项(此属性的默认设置),请考虑同时更改此材质的渲染顺序。 选项:
| ||
| Support VFX Graph | 此属性仅在安装了 Visual Effect Graph 包时可用。表示此Shader Graph是否支持视觉效果图表。启用此属性后,输出上下文可以使用此Shader Graph渲染粒子。当导入 Shader Graph 时,Shader Graph 会进行内部设置以支持视觉效果。这意味着如果启用此属性,但不在视觉效果中使用着色器图,则不会对性能产生影响。它只会影响 Shader Graph 的导入时间。 | 不适用。 | |
使用方法
要使用材料覆盖(Material Override)功能 :
- 创建一个新的 Shader Graph 图。
- 保存该图。
- 打开图形检查器。
- 将 活动目标(Active Targets) 设置为 通用(Universal) 或 内置(Built In)。
- 在图形检查器的 通用(Universal) 或 内置(Built In) 部分中,启用 允许材质覆盖(Allow Material Override)。
- 创建或选择一个使用该 Shader Graph 的材质或 GameObject。
- 在材质检查器中,修改目标材质或 GameObject 的 表面选项(Surface Options)。