裒噎
昨天 15:01
在 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
- 用途:在材质预览窗口中的显示方式。
- 选项:"
lane"(平面)、"Sphere"(球体)等。
四、URP 与前向渲染的关联
URP 默认使用前向渲染路径,其光源处理规则如下:
- 重要光源(如主方向光):通过 "UniversalForward" Pass 逐像素计算。
- 附加光源:在额外的 "UniversalForward" Pass 中叠加(受 Pixel Light Count 数量限制)。
- 顶点光源/SH 光照:超出像素光源上限的光源以低精度方式补偿。
⚠️ 注意事项
- URP 中 "LightMode" 的值需严格匹配管线阶段(如 "UniversalForward")。
- 深度写入控制(如 ZWrite On/Off)需配合 "Queue" 调整,避免半透明物体遮挡错误
【从UnityURP开始探索游戏渲染】专栏-直达
(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除 |
|
|
|
相关推荐
|
|