Version: Unity 6.0 (6000.0)
语言 : 中文
ShaderLab 中的 LOD 指令参考
ShaderLab 中的 UsePass 指令参考

ShaderLab 中的子着色器标签参考

本页面介绍了在__ ShaderLab__Unity 用于定义着色器对象结构的语言。更多信息
See in Glossary
代码中使用 Tags 代码块从而为子着色器分配标签的信息。

如需了解子着色器的定义,请参阅 ShaderLab:定义子着色器。如需了解着色器对象的工作原理以及着色器对象、子着色器和通道之间的关系,请参阅着色器对象

渲染管线兼容性

功能名称 通用渲染管线 (URP) 高清渲染管线 (HDRP) 自定义 SRP 内置渲染管线
ShaderLab:子着色器标签代码块
ShaderLab:RenderPipeline 子着色器标签
ShaderLab:Queue 子着色器标签



注意:在自定义 SRP 中,您可以定制渲染顺序并选择是否要使用渲染队列。详情请参阅 DrawingSettings 和 SortingCriteria。
ShaderLab:RenderType 子着色器标签
ShaderLab:DisableBatching 子着色器标签
ShaderLab:ForceNoShadowCasting 子着色器标签

这会禁用常规阴影,但是不影响接触阴影。
ShaderLab:CanUseSpriteAtlas 子着色器标签
ShaderLab:PreviewType 子着色器标签

语法

签名 功能
标签 { “[name1]” = “[value1]” “[name2]” = “[value2]”} 为子着色器应用给定的标签。

可添加任意数量的标签。

RenderPipeline 标签

签名 功能
“RenderPipeline” = “[名称]” 告知 Unity 此子着色器是否兼容 URP 或 HDRP。
参数 功能
[名称] UniversalPipeline 此子着色器仅兼容 URP。
HDRenderPipeline 此子着色器仅兼容 HDRP。
(任何其他值,或未声明) 此子着色器不兼容 URP 和 HDRP。

Queue 标签

签名 功能
“Queue” = “[查询名称]” 使用已命名的渲染队列。
“Queue” = “[查询名称] + [偏移]” 在相对于命名队列的给定偏移处使用未命名队列。

这种用法适用的一种情况为透明的水,您应该在不透明物体之后、透明物体之前绘制透明水域。
签名 功能
[查询名称] Background 指定背景渲染队列。
Geometry 指定几何体渲染队列。
AlphaTest 指定 AlphaTest 渲染队列。
Transparent 指定透明渲染队列。
Overlay 指定覆层渲染队列。
[偏移] integer 指定 Unity 渲染未命名队列处相对于已命名队列的索引。

RenderType 标签

签名 功能
“RenderType” = “[renderType]” 为此子着色器设置 RenderType 值。
签名 功能
[renderType] String 参数未被设置值。要标识待替换子着色器的 RenderType 值,请打开其着色器源文件。

Unity 旧版内置着色器的 RenderType 子着色器标签见着色器替换页面

您还可以为自定义的子着色器创建自定义的值。

ForceNoShadowCasting 标签

签名 功能
“ForceNoShadowCasting” = “[状态]” 是否对所有使用此子着色器的几何体阻止阴影投射(或接收)。
签名 功能
[状态] True Unity 会阻止此子着色器内的几何体投射阴影。

在内置渲染管线中,使用前向或旧版顶点光照渲染路径时,Unity 还会阻止此子着色器内的几何体接收阴影。

在 HDRP 中,这不会阻止几何体投射接触阴影。
False Unity 不会阻止此子着色器内的几何体投射或接收阴影。False 为默认值。

DisableBatching 标签

签名 功能
“DisableBatching” = “[状态]” Unity 是否为所有使用此子着色器的几何体阻止动态批处理。
签名 功能
[状态] True Unity 为使用此子着色器的几何体阻止动态批处理。
False Unity 不会为使用此子着色器的几何体阻止动态批处理。False 为默认值。
LODFading 对于所有 Fade Mode 值不为 None,且属于 LODGroup 一部分的所有几何体,Unity 都会阻止动态批处理。否则,Unity 不会阻止动态批处理。

IgnoreProjector 标签

签名 功能
“IgnoreProjector” = “[状态]” Unity 在渲染此几何体时是否忽略投影器。
签名 功能
[状态] True Unity 在渲染此几何体时忽略投影器。
False Unity 在渲染此几何体时不会忽略投影器。False 为默认值。

PreviewType 标签

PreviewType 子着色器标签会告知 Unity 编辑器要如何在材质检视面板中显示使用此子着色器的材质。

签名 功能
“PreviewType” = “[形状]” Unity 编辑器为使用此子着色器的材质显示预览时所用的形状。
签名 功能
[形状] Sphere 在球体上显示材质。False 为默认值。
Plane 在平面上显示材质。
Skybox 在天空盒上显示材质。

其他资源

ShaderLab 中的 LOD 指令参考
ShaderLab 中的 UsePass 指令参考