このページでは、ビルトインレンダーパイプラインで使用できる定義済みの Pass タグに関する情報を記載します。
LightMode タグを含む Pass タグの一般的な情報については、ShaderLab: パスの定義 を参照してください。ユニバーサルレンダーパイプライン (URP) で定義済みの Pass タグの値については、URP Pass tags: LightMode を参照してください。
これらは、ビルトインレンダーパイプラインの LightMode
Pass タグの有効な値です。LightMode タグの詳細については、ShaderLab: Pass タグの使用 を参照してください。
Value | 機能 |
---|---|
Always |
常に描画され、ライティングには適用されません。これがデフォルト値です。 |
ForwardBase |
フォワードレンダリングで使用され、アンビエントライト、メインディレクショナルライト、頂点/SH ライト、ライトマップを適用します。 |
ForwardAdd |
フォワードレンダリングで使用され、付加的なピクセルごとのライトを、ライトごとに 1 つの Pass で適用します。 |
Deferred |
ディファードシェーディングで使用され、G バッファを描画します。 |
ShadowCaster |
オブジェクトの深度をシャドウマップや深度テクスチャに描画します。 |
MotionVectors |
オブジェクトごとのモーションベクトルを計算するのに使用されます。 |
PrepassBase |
古い非推奨のライティングで使用され、法線やスペキュラー指数を描画します。 |
PrepassFinal |
古い非推奨のライティングで使用され、テクスチャ、ライト、発光を合成することで最終的な色を描画します。 |
ShadowCaster |
オブジェクトの深度をシャドウマップや深度テクスチャに描画します。 |
Vertex |
古い Vertex Lit レンダリングでオブジェクトがライトマップされてない場合に使用され、すべての頂点ライトが適用されます。 |
VertexLMRGBM |
古い Vertex Lit レンダリングで、ライトマップが RGBM エンコードされるプラットフォームでオブジェクトがライトマッピングされている場合に使用されます。 |
VertexLM |
古い Vertex Lit レンダリングで、ライトマップが double-LDR エンコードされるプラットフォーム (モバイルプラットフォーム) でオブジェクトがライトマッピングされている場合に使用されます。 |
Meta |
This Pass is not used during regular rendering, only for lightmap baking or Enlighten Realtime Global Illumination. For more information, see Lightmapping and the Meta Pass tag. |
ビルトインレンダーパイプラインでは、PassFlags
Pass タグを使用して Unity が Pass に提供するデータを指定します。
Value | 機能 |
---|---|
OnlyDirectional | ビルトインレンダーパイプラインで、レンダリングパスが Forward に設定されている場合に、LightMode タグの値が ForwardBase の Pass でのみ有効です。Unity は、メインのディレクショナルライトとアンビエント/ライトプローブのデータのみをこのパスに提供します。つまり、重要ではないライトのデータは、頂点ライトや球面調和関数シェーダーの変数には渡されません。詳細は、フォワードレンダリングパス を参照してください。 |
Shader "Examples/ExamplePassFlag"
{
SubShader
{
Pass
{
Tags { "LightMode" = "ForwardBase" "PassFlags" = "OnlyDirectional" }
// The rest of the code that defines the Pass goes here.
}
}
}
ビルトインレンダーパイプラインでは、RequireOptions
Pass タグが、プロジェクトの設定に基づいて Pass を有効にしたり無効にしたりします。
Value | 機能 |
---|---|
SoftVegetation |
Render this Pass only if QualitySettings-softVegetation is enabled. |
Shader "Examples/ExampleRequireOptions"
{
SubShader
{
Pass
{
Tags { "RequireOptions" = "SoftVegetation" }
// The rest of the code that defines the Pass goes here.
}
}
}