【URP】Unity Shader Tags

【从UnityURP开始探索游戏渲染】专栏-直达

‌在 Unity URP 中,Shader 的渲染标签(Tags)用于控制渲染顺序、光照处理方式和特殊效果,以下是核心标签及其选项的详细说明:

一、基础渲染标签

‌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开始探索游戏渲染】专栏-直达

(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)

相关推荐
SmalBox17 小时前
【光照】[自发光Emission]以UnityURP为例
unity·渲染
SmalBox2 天前
【光照】Unity中的[经验模型]
unity·渲染
萘柰奈2 天前
Unity学习----【进阶】TextMeshPro学习(三)--进阶知识点(TMP基础设置,材质球相关,两个辅助工具类)
学习·unity
Yasin Chen2 天前
Unity UI坐标说明
ui·unity
应用市场2 天前
无人机姿态控制系统详解与实现
游戏引擎·cocos2d
陈言必行2 天前
Unity 性能优化 之 编辑器创建资源优化( 工作流 | 场景 | 预制体)
unity·编辑器·游戏引擎
1uther2 天前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎
死也不注释3 天前
【Unity UGUI 交互组件——Slider(7)】
unity·游戏引擎·交互
程序猿多布3 天前
XLua教程之热补丁技术
unity·c#·lua·xlua
SmalBox3 天前
【光照】Unity中的[光照模型]概念辨析
unity·渲染