シェーダーオブジェクトは Unity 固有の概念で、シェーダープログラムやその他の情報のラッパーです。同一ファイル内に複数のシェーダープログラムを定義し、それらをどのように使用するかを Unity に伝えることができます。
シェーダーオブジェクトはネスト構造になっており、サブシェーダーやパスと呼ばれる構造に情報を整理します。
Shader ブロック内では、以下が可能です。
Properties ブロックを使って、マテリアルのプロパティを定義します。ShaderLab: マテリアルプロパティの定義を参照してください。SubShader ブロックを使用して、1 つまたは複数のサブシェーダーを定義します。ShaderLab: SubShader の定義を参照してください。Fallback ブロックを使用して、フォールバックのシェーダーオブジェクトを割り当てます。ShaderLab: フォールバックの割り当てを参照してください。| 機能名 | ユニバーサルレンダーパイプライン (URP) | HD レンダーパイプライン (HDRP) | カスタム SRP | ビルトインレンダーパイプライン |
|---|---|---|---|---|
| ShaderLab :シェーダーブロック | はい | はい | はい | はい |
| シグネチャ | 機能 |
|---|---|
Shader "<name>"{<optional: Material properties><One or more SubShader definitions><optional: custom editor><optional: fallback>}
|
指定された名前のシェーダーオブジェクトを定義します。 |