Version: 6000.3
语言: 中文
ShaderLab 参考中的 Name 指令
ShaderLab 参考中的着色器代码块

在 ShaderLab 参考中传递标签

此页面包含有关使用TagsShaderLabUnity 用于定义 Shader 对象结构的语言。更多信息
请参阅术语表
代码,为通行证分配标签。它还包含有关使用LightMode标记。

有关如何着色器在 GPU 上运行的程序。更多信息
请参阅术语表
对象工作,并且之间的关系着色器对象Shader类的实例,Shader 对象是着色器程序和 GPU 指令的容器,以及告诉 Unity 如何使用它们的信息。将它们与材质一起使用,以确定场景的外观。更多信息
请参阅术语表
、子着色器和通道,请参阅着色器对象基础知识

渲染管线兼容性

功能名称 普遍渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表
(URP)
高清渲染管线 (HDRP) 定制 SRP 内置渲染管线
ShaderLab:传递标签块 是的 是的 是的 是的
ShaderLab:LightMode Pass标签 是的 是的 是的 是的

语法

签名 功能
Tags {"<name1>" = "<value1>" "<name2>" = "<value2>"} 将给定的标签应用于通道。

您可以根据需要定义任意数量的标签。

LightMode 标签

签名 功能
“LightMode” = “[值]” 设置此通道的 LightMode 值。

此标记的有效值取决于渲染管线。

LightMode 标签有效值

这些是LightModePass 标记。有关 LightMode 标签的更多信息,请参阅 ShaderLab:使用 Pass 标签

价值 功能 在内置渲染管线中受支持 在 HDRP 中受支持 在 URP 中受支持
Always 始终呈现;不应用任何照明。这是默认值。 是的
ForwardBase 用于前向渲染一种渲染路径,用于在一个或多个通道中渲染每个对象,具体取决于影响对象的光源。光源本身也因前向渲染而异,具体取决于其设置和强度。更多信息
请参阅术语表
;应用环境光、主定向光、顶点/SH 光和光照贴图(lightmaps一种预渲染的纹理,包含光源对场景中静态对象的效果。光照贴图覆盖在场景几何体之上,以创建光照效果。更多信息
请参阅术语表
.
是的
ForwardAdd 用于正向渲染;应用加法每像素光源,每个光源一个通道。 是的
Deferred 用于延迟着色(Deferred Shading) 内置渲染管线中的渲染路径,对可能影响游戏对象的光源数量没有限制。所有光源都是按像素计算的,这意味着它们都与法线贴图等正确交互。此外,所有光源都可以有饼干和阴影。更多信息
请参阅术语表
;渲染 G 缓冲区。
是的
ShadowCaster 将对象深度渲染到阴影贴图或深度纹理中。 是的 是的 是的
MotionVectors 用于计算每个对象的运动矢量。 是的 是的 是的
Vertex 当对象未进行光照贴图时,用于旧版顶点光照渲染;应用所有顶点光源。 是的
VertexLMRGBM 用于对象光照贴图时的旧版顶点光照渲染,以及光照贴图采用RGBM编码的平台(PC和主机)。 是的
VertexLM 当对象被光照贴图时,用于旧版顶点光照渲染,以及光照贴图采用双LDR编码的平台(移动平台)。 是的
Meta 此通道在常规渲染期间不使用,仅用于光照贴图烘焙或EnlightenGeomerics 的照明系统,用于 Unity 中用于 Enlighten 实时全局照明。更多信息
请参阅术语表
实时全局光照 一组对直接和间接光照进行建模以提供逼真的光照结果的技术。
请参阅术语表
.有关更多信息,请参阅光照贴图和着色器
是的 是的 是的

PassFlags 标记

在内置渲染管线中,使用PassFlagsPass 标签来指定 Unity 向 Pass 提供哪些数据。

价值 功能
仅定向 仅在内置渲染管线中有效,当渲染路径设置为 前向(Forward) 时,在具有LightMode标签值为ForwardBase.

Unity 仅向此通道提供主定向光和环境光/光探针数据。这意味着非重要光源的数据不会传递到顶点光源或球面谐波着色器变量中。有关详细信息,请参阅前向渲染路径

Shader "Examples/ExamplePassFlag"
{
    SubShader
    {
        Pass
        {    
              Tags { "LightMode" = "ForwardBase" "PassFlags" = "OnlyDirectional" }
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}

RequireOptions 标记

在内置渲染管线中,RequireOptionsPass 标记启用或禁用基于项目设置广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
请参阅术语表
.

价值 功能
SoftVegetation 仅当启用 QualitySettings-softVegetation 时,才渲染此通道。

其他资源

ShaderLab 参考中的 Name 指令
ShaderLab 参考中的着色器代码块