ステンシルバッファを使ってみる - saitocastel1900/UnityShader GitHub Wiki

  • ステンシルバッファ:描画の際に使う値のこと。ピクセルに値を設定して、その値をもとに色々しましょうってことらしい

  • 特定のオブジェクトから見ないと見れないオブジェクト

  • 仕組みとしては、ステンシルバッファの値を判断分岐として、0(デフォルト)だったら表示しない、1だったら表示するようにしている

  • 見えないオブジェクト

  • 「Ref 1」でステンシルバッファに書き込む値を指定。「Comp」で書き込まれたステンシルバッファを比較する(ステンシルテスト)。「Pass」でステンシルテストが成功した時にステンシルバッファに書き込むかどうかを指定する

  • ここでは、常にステンシルバッファを書き込むようにしている

Stencil
            {
                Ref 1
                Comp Always
                Pass Replace
            }
  • 最前面にくるオブジェクト
  • 「Comp」で指定された条件があっていたら、そのPASSを実行するので。重なっていあたら描画する
 Stencil
            {
                Ref 0
                Comp Equal
            }