Unity Shader Tags

Tags

  表面着色器可以被若干的标签(tags)所修饰,而硬件将通过判定这些标签来决定什么时候调用该着色器。

语法:Tags { “TagName1” = “Value1” “TagName2” = “Value2” … }   例如--》Tags { "RenderType"="Opaque" }

Queue指定了物体的渲染顺序,预定义的Queue有:

  • Background - 最早被调用的渲染,可以用来渲染天空盒或者背景
  • Geometry - 这是默认值,用来渲染非透明物体(特别注意的是:渲染顺序是从前往后)
  • AlphaTest - 用来渲染经过Alpha Test的像素,单独为AlphaTest设定一个Queue是出于对效率的考虑
  • Transparent - 用来渲染非透明物体(特别注意的是:渲染顺序是从后往
  • Overlay - 用来渲染叠加的效果,是渲染的最后阶段(比如镜头光晕等特效)


Shaderlab 还对上面五类做了延伸,让他们 支持加减法。比如想让对象在 Background 之后 Geometry 之前渲染,我们可以这么写:Tags { “Queue” = “Geometry-1”}

通过调整Queue值,我们可以确保某些物体一定在另一些物体之前或者之后渲染,这个技巧有时候很有用处。

展开阅读全文

没有更多推荐了,返回首页