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

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

相关推荐
17岁的勇气4 小时前
Unity Shader unity文档学习笔记(二十一):几种草体的实现方式(透明度剔除,GPU Instaning, 曲面细分+几何着色器实现)
笔记·学习·unity
EQ-雪梨蛋花汤4 小时前
【Unity&AS】Unity & Android Studio 联合开发快速入门:环境配置、AAR 集成与双向调用教程
unity·游戏引擎·android studio
Glunn6 小时前
UI弹出动画
ui·unity
小清兔19 小时前
c#基础知识
开发语言·数据库·学习·unity·c#·游戏引擎·.net
霜绛20 小时前
Unity笔记(七)——四元数、延迟函数、协同程序
笔记·学习·unity·游戏引擎
★YUI★1 天前
学习游戏制作记录(保存装备物品技能树和删除存档文件)8.26
学习·游戏·unity·c#
淡海水1 天前
【URP】[平面阴影]原理与实现
平面·unity·urp·阴影
SmalBox1 天前
【渲染流水线】[输出阶段]-[双缓冲机制]以UnityURP为例
unity·渲染