【Unity】不透明度のシェーダーの表示順

  • |
【Unity】不透明度のシェーダーの表示順
   

エフェクトやアセットにアルファ(透明度)を設定したい場合、不透明度が有効なシェーダーを利用する場合があります。
この時に注意をして欲しいのが、不透明のオブジェクト同士の表示順です。

表示順番

シェーダーの表示順番は「 Queue」で設定ができます。
これはSubShaderでTagに定義済みのレンダーキューを指定します。
Shader "Transparent Queue Example"
{
     SubShader
     {
        Tags { "Queue" = "Transparent" }
        Pass
        {
            // rest of the shader body...
        }
    }
}

定義済みのレンダーキューは以下の通りです。
  • Background – 1000
  • Geometry – 2000
  • AlphaTest – 2450
  • Transparent – 3000
  • Overlay – 4000

数字が大きいオブジェクトが優先されて表示されます。

マテリアルでの表示順番の設定

マテリアルの表示を「Debug」をすれば、マテリアルで表示順番を決定することができます。
「Custom Render Queue」で設定できます。
Shader20160417

注意点

このマテリアルの設定を「-1」にしておかないと、シェーダーで設定をしたレンダーキューが有効になりません。


Unity 5 実践シェーダプログラミング入門 [改訂第一版]
Unity 5 実践シェーダプログラミング入門 [改訂第一版]

Related Posts Plugin for WordPress, Blogger...