1. 程式人生 > >Unity Shader 中各種Tag

Unity Shader 中各種Tag

應該 order nbsp example bsp 標簽 geo ren 排序。

Unity shaderLab中,經常會看到 各種Tag(標簽)。這裏大致分為兩類Tag,SubShader Tag 和 Pass Tag。·

SubShader Tag

 Sub的這些只能是在SubShader中,但是不能再Pass中,我們還能使用material.GetTag 函數查詢他們。

Rendering Order - Queue tag

  在3D引擎中,我們經常要對 透明和不透明物體進行排序。先渲染不透明再渲染透明物體,Unity使用 Queue標簽,分別放入不同的渲染隊列中。

  • Background - 背景,一般天空盒之類的使用這個標簽,最早被渲染

  • Geometry (default)
    適用於大部分不透明的物體

  • AlphaTest - 如果Shader要使用AlphaTest功能 使用這個隊列性能更高

  • Transparent - 這個渲染隊列在AlphaTest之後,Shader中有用到Alpha Blend的,或者深入不寫入的都應該放在這個隊列。

  • Overlay 最後渲染的隊列,全屏幕後期的 都應該使用這個

    - this render queue is meant for overlay effects. Anything rendered last should go here (e.g. lens flares).

  

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

RenderType tag

  RenderType tag可以用自定義的字符串,在使用ShadeReplacement,全局替換渲染的時候有用。

Unity Shader 中各種Tag