URP Shader Pass Tag
Table of Contents
本节包含 URP 特定的 ShaderLab Pass 标签的描述。
URP Pass tags: LightMode
这个标签的值让渲染管线决定在执行渲染管线的不同部分时,使用哪个pass。如果您没有在一个pass中LightMode设置标签,URP 将使用给该pass使用SRPDefaultUnlit
标签值。在 URP 中,LightMode标签有以下的几种:
Property | Description |
---|---|
UniversalForward | 本pass渲染可渲染的几何体并评估光源对光照效果的贡献。URP 在Forward Rendering路径中使用此标记值。 |
UniversalGBuffer | 本pass渲染可渲染的几何体,但不计算光源对光照效果的贡献。URP 在Deferred Rendering路径中使用此标记值。 |
UniversalForwardOnly | 本pass渲染对象几何体并评估光源对光照效果的贡献,类似于LightMode标签值为UniversalForward 值时。与UniversalForward 的不同之处在于,URP 可以将 这个pass用于Forward Rendering和Deferred Rendering路径。当 URP 使用Deferred Rendering路径时,且某个通道必须使用Forward Rendering路径渲染可渲染物体,请使用此值。例如,如果 URP 使用延迟渲染路径渲染场景。但场景中包含具有不适合使用GBuffer 的着色器数据的对象,(例如透明涂层法线(Clear Coat normals)),则使用此标记。如果着色器必须同时在Forward Rendering和Deferred Rendering路径中渲染,请使用UniversalForward 和UniversalGBuffer 标签值。如果着色器必须使用Forward Rendering路径进行渲染,而不管 URP 渲染器使用的什么渲染路径,请仅声明一个LightMode标记设置为的通道UniversalForwardOnly 。 |
Universal2D | 本pass渲染物体并评估 2D光源对光照效果的贡献。URP 在 2D 渲染器中使用此标记值。 |
ShadowCaster | 本pass把光源视为摄像机,从光源的角度出发,把物体的深度值渲染到阴影贴图或深度纹理中。 |
DepthOnly | 本pass把从实际摄像机的角度的透视体出发,把物体的深度值渲染到阴影贴图或深度纹理中。 |
Meta | Unity 仅在 Unity Editor 中烘焙光照贴图时执行此 pass。Unity 会在构建 Player 时从着色器中剥离此 pass。 |
SRPDefaultUnlit | 渲染对象时,使用此标记值绘制额外的通道。例如:绘制物体轮廓。此标记值对前向和延迟渲染路径均有效。当在pass中不显式指定LightMode的标志时,默认使用此标志 |
URP 不支持以下的内建管线所支持的 LightMode 标签:Always
, ForwardAdd
, PrepassBase
, PrepassFinal
, Vertex
, VertexLMRGBM
, VertexLM
。