Tags作为SubShader的一部分,用于告知引擎何时以及用什么方式进行渲染,以下是一些常用的tag
系统预设的几个值:
Background (1000) : 最先调用,通常用于背景方面的渲染
Geometry (2000) : 默认值,大多数用此方式渲染,多用于不透明物体
AlphaTest (2450) : 已进行AlphaTest的物体在这个队列
Transparent (3000) : 大部分的透明物体所选的层
Overlay (4000) : 用以渲染叠加及后期的效果,在最后阶段进行渲染
Queue中的几个预设值可以以名称的方式调用,也可以与数字混合使用:
Tags { "Queue" = "Geometry+1" }
这样的使用将使这个Shader在所有的Geometry后调用,这样将会方便一些最好在两者之间渲染的物品(例:透明的水,一般需要在不透明(一般为2500以下)和transparent之间渲染);
Tags{"RenderType" = "Opaque"} //此行表示这个Shader渲染的是一个不透明的物体
以下是一些常用(系统预设)的标签(引自Unity圣典)
Opaque: most of the shaders (Normal, Self Illuminated, Reflective, terrain shaders).
用于大多数着色器(法线着色器、自发光着色器、反射着色器以及地形的着色器)。
Transparent: most semitransparent shaders (Transparent, Particle, Font, terrain additive pass shaders).
用于半透明着色器(透明着色器、粒子着色器、字体着色器、地形额外通道的着色器)。
TransparentCutout: masked transparency shaders (Transparent Cutout, two pass vegetation shaders).
蒙皮透明着色器(Transparent Cutout,两个通道的植被着色器)。
Background: Skybox shaders. 天空盒着色器。
Overlay: GUITexture, Halo, Flare shaders. 光晕着色器、闪光着色器。
TreeOpaque: terrain engine tree bark. 地形引擎中的树皮。
TreeTransparentCutout: terrain engine tree leaves. 地形引擎中的树叶。
TreeBillboard: terrain engine billboarded trees. 地形引擎中的广告牌树。
Grass: terrain engine grass. 地形引擎中的草。
GrassBillboard: terrain engine billboarded grass. 地形引擎何中的广告牌草。
预设键值:
True:针对此Shader总是使批处理操作无效
False:不取消批处理操作(默认选项)
LODFading:仅在LOD减弱时禁用批处理,多用于树木ForceNoShadowCasting
刚刚开始学习Shader,在此整理Tags作用,以帮助自己的学习。也希望可以帮助大家。
本文参考 Unity Manual ,如有错漏,请及时指正!