着色器对象是 Unity 特定的概念;它是着色器程序和其他信息的封装器。它让您能够在同一个文件中定义多个着色器程序,并告诉 Unity 如何使用这些程序。
着色器对象具有嵌套结构;它会将信息组织为被称为子着色器 (SubShader) 和通道 (Pass) 的结构。
在 Shader 代码块中,您可以:
Properties 代码块定义材质属性。见 ShaderLab:定义材质属性。SubShader 代码块定义一个或多个子着色器。见 ShaderLab:定义子着色器。Fallback 代码块分配一个回退着色器对象。见 ShaderLab:分配回退。| 功能名称 | 通用渲染管线 (URP) | 高清渲染管线 (HDRP) | 自定义 SRP | 内置渲染管线 |
|---|---|---|---|---|
| ShaderLab:Shader 代码块 | 是 | 是 | 是 | 是 |
| 签名 | 功能 |
|---|---|
Shader "<name>"{<optional: Material properties><One or more SubShader definitions><optional: custom editor><optional: fallback>}
|
定义具有给定名称的着色器对象。 |