Version: Unity 6.0 (6000.0)
言語 : 日本語
スクリプトでのシェーダーキーワードのトグルと確認
ビルトインマクロによるシェーダー内の分岐

ビルトインキーワードセットの追加

Unity シェーダーディレクティブショートカットを使用して、シェーダーキーワードとバリアントのセットを作成できます。例えば、以下の例では、SHADOWS_DEPTH と SHADOWS_CUBE のキーワードとバリアントを追加しています。

#pragma multi_compile_shadowcaster

シェーダーディレクティブショートカット

ショートカット Unity で追加されるシェーダーキーワード バリアントはすべてのキーワードをオフにした状態で追加されます
multi_compile_fog FOG_LINEAR、FOG_EXP、FOG_EXP2 はい フォグ multi_compile_fwdadd POINT DIRECTIONAL SPOT POINT_COOKIE DIRECTIONAL_COOKIE いいえ PassType.ForwardAdd
multi_compile_fwdadd_fullshadows POINT、DIRECTIONAL``SPOT、POINT_COOKIE、DIRECTIONAL_COOKIE、SHADOWS_DEPTH SHADOWS_SCREEN SHADOWS_CUBE SHADOWS_SOFT SHADOWS_SHADOWMASK、LIGHTMAP_SHADOW_MIXING いいえ
PassType.ForwardAdd。ライトにリアルタイムの影を付ける機能を追加します。
multi_compile_fwdbase DIRECTIONAL、LIGHTMAP_ON、DIRLIGHTMAP_COMBINED、 DYNAMICLIGHTMAP_ON、SHADOWS_SCREEN、SHADOWS_SHADOWMASK、LIGHTMAP_SHADOW_MIXING、LIGHTPROBE_SH いいえ PassType.ForwardBase。
multi_compile_fwdbasealpha DIRECTIONAL、LIGHTMAP_ON、DIRLIGHTMAP_COMBINED、DYNAMICLIGHTMAP_ON、LIGHTMAP_SHADOW_MIXING、VERTEXLIGHT_ON、LIGHTPROBE_SH いいえ PassType.ForwardBase
multi_compile_instancing INSTANCING_ONプロジェクトでプロシージャルインスタンシングを使用している場合は、PROCEDURAL_ON も追加します。 はい インスタンシング
multi_compile_lightpass POINT、DIRECTIONAL,SPOT、POINT_COOKIE、DIRECTIONAL_COOKIE、SHADOWS_DEPTH、SHADOWS_SCREEN、SHADOWS_CUBE、SHADOWS_SOFT、SHADOWS_SHADOWMASK、LIGHTMAP_SHADOW_MIXING いいえ リアルタイムのライトとシャドウを描画するすべてのパス (ライトプローブを除く)。
multi_compile_particles SOFTPARTICLES_ON はい パーティクルシステムがパス。
multi_compile_prepassfinal LIGHTMAP_ON、DIRLIGHTMAP_COMBINED、DYNAMICLIGHTMAP_ON、UNITY_HDR_ON、SHADOWS_SHADOWMASK、LIGHTPROBE_SH はい PassType.Deferred
multi_compile_shadowcaster SHADOWS_DEPTH、SHADOWS_CUBE いいえ PassType.ShadowCaster multi_compile_shadowcollector、SHADOWS_SPLIT_SPHERES、SHADOWS_SINGLE_CASCADE はい スクリーンスペースのシャドウ。

バリアントの削除

skip_variants ディレクティブを使用して、使用しないキーワードを削除できます。

例えば、以下の例では、multi_compile_fwdadd セットのキーワードを追加し、POINT バリアントと POINT_COOKIES バリアントを削除します。

#pragma multi_compile_fwdadd
#pragma skip_variants POINT POINT_COOKIE

バリアントの削除の詳細については、シェーダーバリアントストリッピングを参照してください。

スクリプトでのシェーダーキーワードのトグルと確認
ビルトインマクロによるシェーダー内の分岐