Tags

Tags 用来指示渲染引擎如何渲染,以及何时渲染。

Tags {
    "TagName1" = "Value1"
    "TagName2" = "Value2"
    ...
}

Queue tag

使用 Queue tag 来决定对象的渲染顺序。通过这种方式可以保证透明物体在所有不透明物体渲染之后渲染。预设的 queues 有这些:

  • Background(1000): 这个渲染队列会在其他队列之前渲染。典型用例是渲染背景。
  • Geometry(2000): 默认队列。用于大多数对象。不透明几何体使用这个队列。
  • AlphaTest(2450): 需要 alpha 测试的几何体使用这个队列。这个队列从 Geometry 队列分离出来,因为在渲染完不透明对象之后,再渲染 alpha 测试对象,会更有效率。
  • Transparent(3000): 这个渲染队列在 Geometry 和 AlphaTest 之后渲染,以从后往前的顺序渲染。任何 alpha-blended(例如不写深度缓冲的 shader) 应该使用这个队列(glass, particle effects)。
  • Overlay(4000): 这个渲染队列用来做叠加效果, 最后渲染的对象应该使用这个队列(比如 lens flares)。

可以使用这些 tags 以外的自定义 tag,如 Geometry+1

RenderType tag

RenderType tag 将 shader 分类到预设的几个组里。用于 Shader Replacement 和制作 camera's depth texture. 常用有:

  • Opaque
  • Transparent
  • TransparentCutout
  • Background
  • Overlay

这个标签在替代渲染做 Post Effects 时很重要,Unity 内置的 Image Effects 就要根据它来决定如何替代渲染。除此之外,如果你想要得到场景的一张 ZDepth 和 Normals 的快照,一个正确的 RenderType 必不可少。

DisableBatching tag

一些 SubShader 在使用 Unity 的批处理功能时会出现问题,例如使用了模型空间下的坐标进行顶点动画。这是可以通过该标签来直接指明是否对该 SubShader 使用批处理。

ForceNoShadowCasting tag

控制使用该 SubShader 的物体是否会投射阴影。

IgnoreProjector tag

如果这个标签为"True", 使用这个 SubShader 的几何体将不会受 Projector 的影响。通常用于半透明物体。

CanUseSpriteAtlas tag

当该 SubShader 是用于精灵(sprites)时,将该标签设为"False".

PreviewType tag

指明材质面板如何预览该材质。默认情况下,材质显示为一个球,可以把该标签设为"Plane", "SkyBox"来改变预览类型。

results matching ""

    No results matching ""