其他分享
首页 > 其他分享> > Unity Shader 中各种Tag

Unity Shader 中各种Tag

作者:互联网

[Unity Shader 中各种Tag]转载自(https://www.cnblogs.com/wbaoqing/p/8979018.html)

Unity shaderLab中,经常会看到 各种Tag(标签)。这里大致分为两类Tag,SubShader Tag 和 Pass Tag。·

SubShader Tag

Sub的这些只能是在SubShader中,但是不能再Pass中,我们还能使用material.GetTag 函数查询他们。

Rendering Order - Queue tag

在3D引擎中,我们经常要对 透明和不透明物体进行排序。先渲染不透明再渲染透明物体,Unity使用 Queue标签,分别放入不同的渲染队列中。

Shader "Transparent Queue Example"
{
     SubShader
     {
        Tags { "Queue" = "Transparent" }
        Pass
        {
            // rest of the shader body...
        }
    }
}

RenderType tag

RenderType tag可以用自定义的字符串,在使用ShadeReplacement,全局替换渲染的时候有用。

DisableBatching tag

很多着色器中,如果使用的Batching技术,物体的模型空间中的位置信息都没了。如果要设计的模型空间坐标系的操作的shader,就得禁用 Batching,保存模型空间的信息。 我们可以使用 "DisableBatching "=“True”,默认都是“False”

ForceNoShadowCasting tag

如果要替换一个半透明的物体的Shader,如果想要这个物体不需要产生阴影,就用这个。半透明物体渲染如果不需要阴影就加上标签。

IgnoreProjector tag

Unity 有种Projector 投影效果,如果加上这个Tag,那么就不会受到投影影响。(贴花,Projector阴影效果)

img

CanUseSpriteAtlas tag

Set CanUseSpriteAtlas tag to “False” if the shader is meant for sprites, and will not work when they are packed into atlases (see Sprite Packer).

PreviewType tag

PreviewType 正常我们都是用一个球体观察材质,设置标签”Plane“ 或者 “Skybox”

Pass Tag

Pass Tag 一般控制灯光相关的信息,这些跟SubShader Tag一样,只能在Pass块里面起效果。

LightMode tag

渲染路径标签, 一般现在渲染分为了 三类,顶点渲染路径,向前的渲染,对于的延迟渲染路径。

标签:Used,渲染,tag,Shader,rendering,Unity,Tag
来源: https://blog.csdn.net/linsang233/article/details/113452730