Unity Shader Tags 小结

Tags作为SubShader的一部分,用于告知引擎何时以及用什么方式进行渲染,以下是一些常用的tag

  • Queue :指定渲染顺序,数值小的先渲染

       系统预设的几个值:

            Background (1000)  : 最先调用,通常用于背景方面的渲染

            Geometry       (2000)    : 默认值,大多数用此方式渲染,多用于不透明物体

            AlphaTest     (2450) : 已进行AlphaTest的物体在这个队列

            Transparent  (3000) : 大部分的透明物体所选的层

            Overlay         (4000) : 用以渲染叠加及后期的效果,在最后阶段进行渲染

       Queue中的几个预设值可以以名称的方式调用,也可以与数字混合使用:

    Tags { "Queue" = "Geometry+1" }

       这样的使用将使这个Shader在所有的Geometry后调用,这样将会方便一些最好在两者之间渲染的物品(例:透明的水,一般需要在不透明(一般为2500以下)和transparent之间渲染);

 

  • RenderType : 使用此项对Shader进行标识 ,且此项可以使用自定义的标签。
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. 地形引擎何中的广告牌草。

 

  • DisableBatching :  当进行一些批处理操作时,有可能会导致物体的模型空间(Object Space)中的信息丢失,使用此项可保存相关信息

        预设键值:

            True:针对此Shader总是使批处理操作无效

            False:不取消批处理操作(默认选项)

            LODFading:仅在LOD减弱时禁用批处理,多用于树木ForceNoShadowCasting

 

  • ForceNoShadowCasting :强制关闭阴影效果,可以避免从其他SubShader继承阴影效果

 

  • IgnoreProjector :将忽略投影机 (Projectors) 对Shader的影响,多用于半透明物体

 

  • CanUseSprite : 当Shader应用于Sprite时,将此项设为False,当将其打包到地图集(atlases) 时此项将失去作用

 

  • PreviewType : 此项将设定Material Inspector展示Material的方式,此项默认为Sphere,但也可以修改为Plane或者Skybox

 

刚刚开始学习Shader,在此整理Tags作用,以帮助自己的学习。也希望可以帮助大家。

本文参考 Unity Manual   ,如有错漏,请及时指正!

你可能感兴趣的:(Shader)