Pass はタグを使用していつどのようにしてレンダリングエンジンによりレンダリングすべきかを指定します。
Tags { "TagName1" = "Value1" "TagName2" = "Value2" }
タグの TagName1 が値として Value1、タグの TagName2 が値として Value2 であることを指定します。タグは好きなだけ指定できます。
タグは基本的に Key-Value ペアです。Pass の中でタグは、当該パスがライティングパイプライン(環境光、頂点ライティング、ピクセルライティング)の中でどの役割であるかを制御したり、他のパラメーターを判定するのに使用します。次のタグは Unity により認識され、SubShader の中でなく 必ず Pass セクションの中とする、ことに注意ください。
LightMode タグはライティングパイプラインでのパスの役割を定義します。詳細については Unity のレンダリングパイプライン を参照してください。これらのタグは手動で使用されることは稀で、ライティングと相互作用のあるほとんどのシェーダーは Surface Shader で記述され、そういった詳細はその中で処理されます。
LightMode で利用可能なタグは、
パスは レンダリングパイプライン がどのようにデータを渡すかをフラグで示すことができます。これには、スペースで区切られたフラグ名を値としてもつ PassFlags タグが使用されます。現在、以下のフラグがサポートされています。
特定の外部条件が満たされた場合のみレンダリングされることを、パスで指定することができます。これは RequireOptions により実現され、値はスペースで区切られた文字列によるオプションです。現在、以下のオプションがUnityでサポートされています。
SubShader にタグを割り当てることが可能です。詳細は SubShader タグを参照してください。