Fabric Master Node
HD レンダーパイプライン (High Definition Render Pipeline、HDRP) では、ファブリックマテリアルを使って様々な種類のファブリックをレンダリングすることができます。ファブリックマテリアルは、コットンウールまたは異方性のシルクをベースにして、Subsurface Scattering などの様々なその他のエフェクトをサポートし、現実的な外観のファブリックを作成できるようになっています。

ファブリックマテリアルの作成と編集
ファブリックマテリアルはシェーダーグラフマスターノードを使います。つまり、Inspector ではプロパティーの編集ができないということです。ファブリックマテリアルはシェーダーグラフマスターノードを使うため、それを使うマテリアルの作成および編集には、特定のプロセスを踏む必要があります。そのやり方に関する情報は、シェーダーグラフで HDRP マテリアルをカスタマイズする を参照してください。
ノードをマテリアルに適用するときに、マテリアルの Inspector で Surface Options と Exposed Properties を編集できるようになります。
プロパティー
マスターノード、および各マテリアルにはプロパティーがあります。マスターノードのプロパティーは、シェーダーグラフの中で、2 つのセクションに分かれています。
- Master Node 入力ポート: このセクションには、マスターノード上のシェーダーグラフ入力ポートが含まれています。他のノードの出力に繋げたり、または場合によっては独自の値を追加することができます。
Master Node 設定メニュー: このセクションには、マスターノードをカスタマイズして、追加の入力ポートを展開するために使う、設定が含まれています。
マテリアルプロパティー はシェーダーを使うマテリアルの Inspector ウィンドウにあります。
Fabric Master Node 入力ポート

次の表は、プロパティータイプと各ポートに使われるシェーダーステージを含む、Fabric Master Node (ファブリックマスターノード) の入力ポートを示しています。シェーダーステージに関する詳細は、シェーダーステージ を参照してください。
| プロパティー | 型 | ステージ | 説明 |
|---|---|---|---|
| Vertex Position | Vector 3 | Vertex | 頂点ごとのマテリアルのオブジェクト空間位置です。 |
| Vertex Normal | Vector 3 | Vertex | マテリアルのオブジェクト空間法線です。 |
| Vertex Tangent | Vector 3 | Vertex | マテリアルのオブジェクト空間接線です。 |
| BaseColor | Vector 3 | Fragment | マテリアルの色です。画像を添付するには、マスターノードにサンプル Texture2D を繋げてください。 |
| SpecularOcclusion | Float | Fragment | スペキュラーグローバルイルミネーションの強度に使う乗数です。このプロパティーは、Specular Occlusion Mode を Custom に設定したときのみ表示されます。 |
| Normal | Vector 3 | Fragment | 接線空間におけるポイントの法線です。このプロパティーを扱うには、ベースに 1 つ、そして追加の詳細を足すファブリックスレッドに 1 つと、複数のマップを使います。 |
| BentNormal | Vector 3 | Fragment | ポイントの ベント法線 です。 |
| Smoothness | Float | Fragment | プライマリーの鏡面ハイライトの外観です。滑らかな面に当たる光線はすべて、予測可能な一定角度で跳ね返ります。鏡のように光を反射する、完璧な滑らかさを持つ面を作るには、この値を 1 に設定します。より粗い面には、値を低く設定します。 |
| AmbientOcclusion | Float | Fragment | 拡散グローバルイルミネーションの強度の乗数です。0 に設定すると、すべてのグローバルイルミネーションを除去します。 |
| SpecularColor | Vector 3 | Fragment | 鏡面ハイライトの色です。画像を添付するには、マスターノードにサンプル Texture2D を繋げてください。 |
| Diffusion Profile | 拡散プロファイル | Fragment | マテリアルがサブサーフェス散乱およびトランスミッションにどの 拡散プロファイル を使うかを特定します。このポートは Subsurface Scattering または Transmission を有効にしたときのみ表示されます。 |
| SubsurfaceMask | Float | Fragment | サブサーフェス散乱がシェーディングされたポイントに影響するかを示します。このポートは Subsurface Scattering 設定が有効なときのみ表示されます。 |
| Thickness | Float | Fragment | HDRP がトランスミッションを評価するために使う面の厚さです。このポートは Transmission 設定が有効なときのみ表示されます。 |
| Tangent | Vector 3 | Fragment | 接線空間におけるポイントの接線です。サーフェスの異方性値がカラでない場合に役に立ちます。このポートは Material Type を Silk に設定したときのみ表示されます。 |
| Anisotropy | Float | Fragment | ポイントのローカルベースに関するスペキュラータームの非対称性の程度です。このポートは Material Type を Silk に設定したときのみ表示されます。 |
| Emission | Vector 3 | Fragment | マテリアルのエミッションカラーの値です。割り当てる RGB 値は、0 から 255 の間でなければなりません。強度値は -10 から 10 の範囲内でなければなりません。 |
| Alpha | Float | Fragment | マテリアルのアルファ値です。マテリアルは透明度およびアルファクリップにこれを使います。HDRP の期待範囲は 0 から 1 です。このポートは Material Type を Silk に設定したときのみ表示されます。 |
| AlphaClipThreshold | Float | Fragment | HDRP がマテリアルの各ピクセルをレンダリングするか決定するために使う、アルファ値の限度です。ピクセルのアルファ値がこのしきい値と同等または高い場合、HDRP はピクセルをレンダリングします。しきい値よりも値が低い場合は、HDRP はピクセルをレンダリングしません。このポートは Alpha Clipping 設定が有効なときのみ表示されます。 |
| BakedGI | Vector 3 | Fragment | ビルトイン拡散グローバルイルミネーション (GI) ソリューションを設定した値に置き換えます。これはメッシュのフロント フェイス 限定です。このポートは Override Baked GI 設定が有効なときのみ表示されます。 |
| BakedBackGI | Vector 3 | Fragment | ビルトイン拡散 GI ソリューションを設定した値に置き換えます。これはメッシュのバック フェイス 限定です。このポートは Override Baked GI 設定が有効なときのみ表示されます。 |
| DepthOffset | Float | Fragment | シェーダーがフラグメントの深度を増やすために使う値です。このポートは Depth Offset 設定が有効なときのみ表示されます。 |
Fabric Master Node 設定メニュー
以下のプロパティーを表示するには、マスターノードの右上にある 歯車 アイコンをクリックしてください。

| プロパティー | 説明 |
|---|---|
| Precision | シェーダーが処理する演算の精度を選択します。精度の低い演算は速いですが、鏡面ハイライトの強度が不正確であるといった問題が生じます。 • Inherit: グローバルの精度設定を使います。これは最も正確性の高い設定であり、精度の問題は全く生じませんが、シェーダー演算は他の値よりも遅くなります。 • Float: 単精度浮動小数点数を使います。各演算のリソース負荷を減少させるため、計算のスピードが上がります。 • Half: 半精度浮動小数点数を使います。これは最も速い精度レベルで、リソース負荷は最も小さいです。この精度設定は、例えばアーティファクトの量子化 (バンディング) や強度のクリッピングなど、最も問題を生じやすい設定です。 |
| Surface Type | ドロップダウンから、マテリアルが透明度をサポートするかを定義します。Transparent (透明) サーフェスタイプのマテリアルは、Opaque (不透明) サーフェスタイプのマテリアルよりもリソース負荷が大きくなります。HDRP は選択された Surface Type に応じて、追加のプロパティーを展開します。 |
| - Blend Preserves Specular | アルファブレンディングが鏡面ローブに影響するかを示します。インスタンスにウィンドウをレンダリングするのに便利です。 |
| - Fog | チェックボックスを有効にすると、フォグが透明サーフェスに影響を与えられるようになります。無効にすると、HDRP がシーンでフォグを演算する際にマテリアルを考慮しません。このオプションを展開するには、Surface Type ドロップダウンから Transparent を選択します。 |
| - Sort Priority | 重なった透明サーフェスのレンダリング順序を変更できます。 |
| - Depth Write | チェックボックスを有効にすると、HDRP はマテリアルを使う透明ゲームオブジェクトに深度値を書きます。 |
| - Depth Test | Unity はオブジェクトをレンダリングする際、深度テストを使って、別のオブジェクトの後ろに隠れていないかを確認します。このために Unity は与えられたオブジェクトのピクセルの Z 値をテストして、深度バッファに保存された値と比較します。デフォルトにより、深度テストは Less Equal にされており、元のオブジェクトはテスト対象であるオブジェクトの前に表示されます。ドロップダウンから深度テストに使う比較関数を選択します。比較関数はそれぞれ、シェーダーのレンダリング方法を変更します。このオプションは、Surface Type ドロップダウンから Transparent を選択して展開します。 • Disabled: 深度テストを実行しません。 • Never: 決して深度テストをパスしません。 • Less: ピクセルの Z 値が保管されている値未満の場合に、深度テストをパスします。 • Equal: ピクセルの Z 値が保管されている値と等しい場合に、深度テストをパスします。 • Less Equal: ピクセルの Z バッファ値が、保管されている値未満または等しい場合に、深度テストをパスします。テストされたピクセルはその他のピクセルの前でレンダリングされます。 • Greater: ピクセルの Z 値が保管されている値を超える場合に、深度テストをパスします。 • Not Equal: ピクセルの Z 値が保管されている値と等しくない場合に、深度テストをパスします。 • Greater Equal: ピクセルの Z バッファ値が、保管されている値を超えるまたは等しい場合に、深度テストをパスします。 • Always: 常に深度テストをパスし、保管されている値との比較はありません。 |
| Alpha Clipping | チェックボックスを有効にすると、マテリアルが Cutout シェーダー として作用します。この機能を有効にすると、他のプロパティーが展開されます。機能の詳細および展開されるプロパティーのリストは、Alpha Clipping に関するドキュメント を参照してください。 |
| Double-Sided | HDRP がジオメトリでポリゴンの両面をレンダリングするかを特定します。さらに HDRP がバックフェイスの法線をどう解釈するかも特定します。オプションは以下の通りです。 • Enabled: HDRP はジオメトリでポリゴンの両面をレンダリングします。 • Disabled: HDRP はジオメトリでポリゴンの両面をレンダリングしません。 • Flipped Normals: バックフェイスの法線はフロントフェイスの法線の 180° になります。これはマテリアルにも適用し、つまりジオメトリの両面が同一に見えます。 • Mirrored Normals: バックフェイスの法線はフロントフェイスの法線をミラーリングします。これはマテリアルにも適用し、つまりバックフェイスで反転します。これは例えば葉っぱなど、ジオメトリの両面で同じ形状を維持したい場合に便利です。 |
| Energy Conserving Specular | チェックボックスを有効にすると、スペキュラーエフェクトがより強烈な場合に、HDRP はマテリアルの拡散カラーを減少させます。マテリアルのライティングにより一貫性を与え、マテリアルがより物理的に正確に見えるようになります。 |
| マテリアルタイプ | ファブリックシェーダーのマテリアルタイプを特定します。オプションは以下の通りです。 • Cotton Wool: イメージワークスの布モデルにインスパイアされたバリアントです。 • Silk: 異方性 GGX BRDF モデルに基づいたファブリックのバリアント です。 |
| Subsurface Scattering | マテリアルがサブサーフェス分散をサポートするかを示します。マテリアルの特定の領域でサブサーフェス分散を無効にするには、Subsurface Mask (サブサーフェスマスク) を使います。 |
| Transmission | マテリアルがトランスミッションをサポートするかを示します。 |
| Receive Decals | チェックボックスを有効にすると、HDRP はマテリアルの表面にデカールを描画できるようになります。 |
| Receive SSR (Transparent) | HDRP がスクリーンスペースリフレクションパスを処理する際に、マテリアルを含めるかを示します。透明サーフェスタイプには、別のオプションがあります。 |
| Add Precomputed Velocity | マテリアルが Alembic ファイルに保存された事前計算された速度情報を使うかを示します。 |
| Specular Occlusion Mode | HDRP がスペキュラーオクルージョンを計算するために使うモードです。 • Off: スペキュラーオクルージョンを無効にします。 • From AO: アンビエントオクルージョンマップとカメラのビューベクトルから、スペキュラーオクルージョンを計算します。 • From AO and Bent Normal: アンビエントオクルージョンマップ、ベント法線マップ、およびカメラのビューベクトルから、スペキュラーオクルージョンを計算します。 • Custom: 独自のスペキュラーオクルージョン値を特定できます。 |
| Override Baked GI | この設定を有効にすると、2 つのベイクされた GI 入力ポート が展開されます。マテリアルはシーンでグローバルイルミネーションを無視し、代わりに独自のグローバルイルミネーション値を使いマテリアルの外観をカスタマイズできます。 |
| Depth offset | この設定を有効にすると、DepthOffset 入力ポート が展開され、フラグメントの深度値を増加させ、カメラからの距離をとるために使うことができます。 |
| Support LOD CrossFace | テクスチャをサンプリング中、LOD レベルを別のレベルに移動する際にディザリングが生じるかを示します。 |
| Override ShaderGUI | シェーダーグラフが使う ShaderGUI をオーバーライドできます。true の場合は、ShaderGUI プロパティーが表示され、使用する ShaderGUI を特定できます。 |
| - ShaderGUI | クラスパスを含む、ShaderGUI クラスのフルネームです。 |
マテリアルプロパティー
以下のプロパティーはシェーダーグラフの Blackboard で展開したプロパティーとともに、Inspector の Exposed Properties セクションにあります。Override ShaderGUI を true に設定すると、Material Properties セクションは表示されず、代わりに特定した ShaderGUI が表示されます。
| プロパティー | 説明 |
|---|---|
| Enable GPU instancing | このチェックボックスを有効にすると、HDRP は同じジオメトリのメッシュとマテリアルを可能な限り一度にレンダリングします。これにより、より速くレンダリングできます。HDRP は異なるマテリアルを含むメッシュや、ハードウェアが GPUインスタンシングをサポートしない場合、一括レンダリングはできません。例えばオブジェクトピボットをベースとしたアニメーションを含むゲームオブジェクトの 静的バッチ はできませんが、GPU はそれらをインスタンスすることができます。 |
| Emission | エミッションがグローバルイルミネーションに影響するかを切り替えます。 |
| - Global Illumination | カラーエミッションがどのようにグローバルイルミネーションと作用するかを決定する、HDRP が使うモードです。 • Realtime: このオプションを選択すると、エミッションがリアルタイムのグローバルイルミネーションの結果に影響を与えます。 • Baked: このオプションを選択すると、エミッションはベイキングプロセス中のみ、グローバルイルミネーションに影響を与えます。 • None: このオプションを選択すると、エミッションはグローバルイルミネーションに影響を与えません。 |
| Motion Vector For Vertex Animation | チェックボックスを有効にすると、HDRP は頂点アニメーションを使うゲームオブジェクトに、モーションベクトルを書きます。これは頂点アニメーションが引き起こすゴースティングを除去します。 |
制限
エリア ライト は現在、Fabric または Hair マテリアルをサポートしていません。つまり、以下のマテリアルを照らしたり影を作ったりしません。