【URP】Unity Shader Tags
在 Unity URP 中,Shader 的渲染标签(Tags)用于控制渲染顺序、光照处理方式和特殊效果,以下是核心标签及其选项的详细说明:
【从UnityURP开始探索游戏渲染】
专栏-直达
一、基础渲染标签
RenderPipeline
-
用途
:声明 Shader 兼容的渲染管线。 -
选项
:必须设置为"UniversalRenderPipeline",否则 URP 无法识别。
RenderType
-
用途
:分类渲染对象(如不透明/透明),影响相机缓冲区(如深度图、颜色图)的生成。 -
选项
:"Opaque":默认不透明物体(如地形、建筑)。"Transparent":半透明物体(如玻璃、水面)。"TransparentCutout":镂空材质(如树叶)。
Queue
-
用途
:控制渲染顺序优先级,数值越小越早渲染。 -
预设选项
(按渲染顺序排列):"Background"(1000):天空盒等背景。"Geometry"(2000):大多数不透明物体。"AlphaTest"(2450):需透明度测试的物体。"Transparent"(3000):半透明物体(从后向前渲染)。"Overlay"(4000):UI、后期特效3。
-
自定义数值
:例如"Queue"="Geometry+10"。
DisableBatching
-
用途
:禁用动态合批处理(某些 GPU 动画需独立计算)。 -
选项
:"True"(禁用)或"False"(默认启用)。
二、光照与阴影标签
LightMode
-
用途
:定义 Pass 在渲染管线中的角色。 -
关键选项
:"UniversalForward":主光照 Pass,处理直接光照、环境光、阴影。"ShadowCaster":生成物体深度图供阴影计算。"DepthOnly":仅写入深度(用于景深、雾效等后处理)。"SRPDefaultUnlit":无光照渲染(如 UI、粒子)。
IgnoreProjector
-
用途
:忽略投影器(Projector)影响(URP 中较少使用)。 -
选项
:"True"(忽略)。
三、高级功能标签
ForceNoShadowCasting
-
用途
:强制禁用阴影投射(如透明材质)。 -
选项
:"True"。
PreviewType
-
用途
:在材质预览窗口中的显示方式。 -
选项
:"Plane"(平面)、"Sphere"(球体)等。
四、URP 与前向渲染的关联
URP 默认使用
前向渲染路径
,其光源处理规则如下:-
重要光源
(如主方向光):通过"UniversalForward"Pass 逐像素计算。 -
附加光源
:在额外的"UniversalForward"Pass 中叠加(受Pixel Light Count数量限制)。 -
顶点光源/SH 光照
:超出像素光源上限的光源以低精度方式补偿。
⚠️ 注意事项
- URP 中
"LightMode"的值需严格匹配管线阶段(如"UniversalForward")。 - 深度写入控制(如
ZWrite On/Off)需配合"Queue"调整,避免半透明物体遮挡错误
【从UnityURP开始探索游戏渲染】
专栏-直达
(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)


评论