このページには、ShaderLab コードで Fallback ブロックを使用して、フォールバックの Shader オブジェクトを割り当てるための情報が記載されています。シェーダーオブジェクトがどのように機能するか、そして Unity がいつフォールバックを使用するかをどのように選択するかについては、シェーダーオブジェクト入門を参照してください。
| 機能名 | ユニバーサルレンダーパイプライン (URP) | HD レンダーパイプライン (HDRP) | カスタム SRP | ビルトインレンダーパイプライン |
|---|---|---|---|---|
| ShaderLab: フォールバックブロック | はい | はい | はい | はい |
フォールバックを割り当てるには、Fallback ブロックを Shader ブロック内に配置します。
| シグネチャ | 機能 |
|---|---|
Fallback "<name>" |
互換性のある SubShader が見つからない場合は、名前付きのシェーダーオブジェクトを使用します。 |
Fallback Off |
このオブジェクトの代わりに、フォールバックのシェーダーオブジェクトを使用しないでください。互換性のあるサブシェーダーが見つからない場合は、エラーシェーダーを表示します。 |
このサンプルコードでは、名前付きの Fallback を持つシェーダーオブジェクトを作成するための構文を示しています。
Shader "Examples/ExampleFallback"
{
SubShader
{
// Code that defines the SubShader goes here.
Pass
{
// Code that defines the Pass goes here.
}
}
Fallback "ExampleOtherShader"
}