このページでは、Main Material ノードで使用可能なすべての入力について説明します。これらの入力にデータ (定数、パラメータ、テクスチャ) を入力することで、マテリアルのサーフェス プロパティの定義や、ほぼ無限な種類の物理サーフェスの作成が可能です。
すべてのマテリアルに対してすべての入力が必要なわけではありません。デフォルトでは Main Material ノードに表示されない入力が必要となるマテリアル タイプも一部存在します。
入力とマテリアル プロパティ
[Details (詳細)] パネルで特定のマテリアル プロパティを変更すると、Main Material ノードの一部の入力が白色に変わり (有効であることを示します)、他の入力はグレー表示されることがわかります。
下記の 3 つのマテリアル プロパティで、マテリアルでどの入力を有効にするかを制御します。
- Blend Mode (ブレンド モード) - マテリアルとその背後にあるピクセルとのブレンド方法を定義します。
- Shading Model (シェーディング モデル) - マテリアル サーフェスの光の計算方法を定義します。
- Material Domain (マテリアル ドメイン) - マテリアルの使用方法を指定します。たとえば、それがサーフェス、Light 関数、ポスト プロセス マテリアルの一部となることを意図しているかどうかなどです。
マテリアルに必要な入力が無効になっている場合、上記のプロパティの 1 つ以上が正しく設定されていないことが原因です。たとえば、ガラス板を作成しようとしているものの、オパシティ入力が無効になっている場合などです。この例の場合、Blend Mode を Translucent に変更すると解決できます。
ベース カラー
Base Color ではマテリアル全体の色を定義します。原則として、ベース カラーは、スペキュラ反射やハイライトを除いた、サーフェスから反射されたディフューズ ライトを表している必要があります。
ベース カラー テクスチャで現実世界のものを使用する場合、撮影の際に偏光フィルタを用いる必要があります。偏光により、非金属のスペキュラ反射を除去できます。

メタリック
Metallic 入力は、サーフェスがどの程度「金属的」であるかを制御します。Metallic には「0」から「1」までの任意の値を設定できますが、ほとんどの場合、Metallic はいずれかのプロパティと見なされます。
- 非金属である場合、Metallic の値は「0」です。
- 金属である場合、Metallic の値は「1」です。
純粋な金属、石、プラスチックといった純粋なサーフェスの場合、この値は「0」または「1」で、その中間の値にはなりません。ただし、腐食した金属や埃っぽい金属、または錆びた金属などの「ハイブリッドなサーフェス」を作成する場合は、「0」から「1」の間の値になることがあります。



Metallic の値は、「0」、「0.5」、「1」。
メタリック マスクを使用する場合、テクスチャの値は純粋な黒または純粋な白にする必要があります。ブレンド (腐食した金属など) を作成する場合にのみ、グレースケール値を使用します。
スペキュラ反射
スペキュラリティ (鏡面反射性) は、サーフェスがどれだけ光を反射するかを表す指標です。Specular 入力は「0」から「1」の間の値を取り、サーフェスが反射する範囲を定義します。
- 値「0」 - 完全に反射しない
- 値「1」 - 完全に反射
- デフォルト値は「0.5」です。この際、反射率は約 4% となります。



Specular 値が「0」、「0.5」、「1」。
ラフネス
Roughness 入力では、マテリアルのサーフェスの粗さ、または滑らかさを制御します。粗いマテリアルでは、滑らかなマテリアルと比べて反射ライトがより多くの方向に拡散されます。この値は、反射のぼやけ具合や鮮明度 (またはスペキュラ ハイライトの広さや狭さ) を制御します。
- Roughness を「0 (滑らか)」にすると、鏡のような反射になります。
- Roughness を「1 (粗い)」にすると、サーフェスがディフューズまたは艶消しされた状態になります。



Roughness の値が「0」、「0.5」、「1」。
ほとんどのサーフェスは均一に粗かったり滑らかだったりするわけではありません。サーフェスに物理的な変化を加えるため、Roughness プロパティはオブジェクトに頻繁にマッピングされます。
Roughness マップを必要とするマテリアルの例としては、金属の傷、木製の床の擦り傷、プラスチックの指紋などが挙げられます。

Anisotropy 入力と Tangent 入力
Anisotropy および Tangent 入力を使用すると、マテリアルの粗さの異方性とライトの方向性を制御できます。これら 2 つの入力は、ブラシ仕上げの金属のような異方性エフェクトを再現する際に使用します。

Anisotropic 入力と Tangent 入力を使用しないと、マテリアルは等方性応答となります。これは、Anisotropic 入力の値が「0」の場合も同じです。


異方性応答は値を「-1.0」と「1.0」の間にすることで調整できます (値「0」は等方性エフェクトなしとなります)。
異方性マテリアルはデフォルトで有効になっていますが、コンソール コマンド r.AnisotropicMaterials.
で無効にすることができます。有効にすると、異方性はサポートされている Gen5 プラットフォームで、スケーラビリティ設定が High、Epic、または Cinematic の場合に機能します。











スライダーをドラッグすると、異方性反応は 0.0 から 1.0 に増加することを示します。
Tangent 入力を使用して、テクスチャまたは Vector 式をもつライトの方向性を定義します。
エミッシブ カラー
Emissive Color 入力は、マテリアルの輝いたり発光したりする場所と、その明るさを制御します。理想的には、この入力はマスクされたテクスチャ (光る必要がある領域を除いてほとんど黒) を受け取ります。
値が「1」より大きいと、HDR ライティングとしてサポートされます。

オパシティ
Opacity 入力は、Translucent ブレンド モード が選択されている場合に有効になります (通常は、透過、加算、変調マテリアルに対して選択されます)。
- 値を「0.0」にすると、マテリアルは完全に透明になります。
- 値を「1.0」にすると、マテリアルは完全に不透明になります。
- 値が「0」から「1」までの小数値の場合、マテリアルは半透明になります。
Subsurface (サブサーフェス) シェーディング モデルのどれかを使う場合、不透明でマスクされたブレンド モードも Opacity を使います。

Opacity は主に、Translucent (透過)、Additive (加算)、Modulated (変調) マテリアルに使用されます。
オパシティ マスク
Opacity Mask は Opacity と似た入力ですが、Masked Blend モードを使用した場合のみ利用できます。
Opacity 入力とは異なり、Opacity Mask では部分的または中間の透過レベルを使用できません。Opacity Mask を使用すると、マテリアルの領域は完全に表示されるか、完全に非表示になります。ワイヤー メッシュ、チェーン リンク面など、複雑なソリッド サーフェスを定義するマテリアルが必要な場合に最適です。

Opacity Mask Clip Value プロパティを使用すると、クリッピングが行われる値を設定できます。たとえば、Opacity Mask Clip Value が「0.5」に設定されている場合、以下のとおりとなります。
- Opacity Mask の値が「0.5」より大きいピクセルは、完全に不透明になります。
- Opacity Mask の値が「0.5」未満のピクセルは完全に透明になります。
詳細については、「マスク ブレンド モードのドキュメント」を参照してください。
法線
Normal 入力は法線マップを受け取ります。法線マップは、個々のピクセルの「法線」または向きを変更することで、サーフェスに主要な物理的詳細を追加するために使用されます。

上の画像では 両方の武器に同一のスタティックメッシュを使用しています。下の画像では、非常に詳細な法線マップが使用されています。これにより、さらなる詳細が付与されています。これにより、実際にレンダリングされるポリゴンよりも多くのポリゴンがサーフェスにあるように見せることができます。
通常このような法線マップは、Pixologic ZBrush など、高解像度モデリングソフトで作成されます。

ワールド位置オフセット
World Position Offset 入力を使用すると、マテリアルでワールド空間内のメッシュの頂点を操作できるようになります。オブジェクトの移動、形状の変更、回転、その他のさまざまな効果に実用的です。World Position Offset は、繊細なアンビエント アニメーションによく使用されます。
上記のネットワークにより、球体は頂点法線に沿って 1 秒の正弦周期で拡大および縮小します。
World Position Offset を使用して元の範囲を超えてオブジェクトを展開するとき、レンダラは元の範囲を使用していることに留意してください。つまり、カリングおよびシャドウイング エラーが発生するかもしれません。メッシュのプロパティの Scale Bounds プロパティを設定して調整してください。ただし、パフォーマンスの妨げとなりシャドウイング エラーが起こる可能性があります。
サブサーフェス カラー
Subsurface Color 入力は、Shading Model プロパティがサブサーフェスに設定されている場合にのみ有効になります。この入力を使用すると、マテリアルに色を追加することができます。それにより、光がサーフェスを通過するときの色の変化をシミュレートできます。
たとえば、人間のスキンのシェーダーでは、サーフェスの下の血液をシミュレートするために、赤色の Subsurface Color がよく使用されます。Subsurface スキン エフェクトは、強い光源で逆光に照らされたときに、鼻先、指、耳たぶなどの末端部分で最も顕著になります。
カスタム データ
Custom Data Material 入力はデフォルトでは無効になっており、特定のシェーディング モデルが使用されている場合にのみ有効になります。Custom Data スロットには、一部のシェーディング モデルの固有のニーズをサポートするコンテキスト固有の入力が入力されます。
たとえば、Eye (目) のシェーディング モデルを選択した場合、カスタム データ入力は Iris Mask (虹彩マスク) と Iris Distance (虹彩距離) になります。

カスタム データ入力を使用するシェーディング モデルには次のものがあります。
- クリア コート
- サブサーフェス プロファイル
- ヘア
- 布地
- 目
ヘア
Hair シェーディング モデルは、髪の透過的な性質をより適切にシミュレートする際に使用します。このシェーディング モデルは、髪の毛が完全に円筒形ではないという事実を考慮して、髪の毛を透過する光の状況をシミュレートします。
さらに、統一されたスペキュラ ハイライトをレンダリングするのではなく、髪の毛が向いている方向に基づいてスペキュラ反射が個別に配置されます。

Hair シェーディング モデルを選択すると、Main Material ノードで 3 つの入力が有効になります。
- Scatter:この入力は、ヘアを通して発生する光の散乱量を制御します。
- Tangent:この入力は Normal 入力を置き換え、U および V テクスチャ座標に沿った法線方向の制御に使用します。
- Backlit:この入力は、このヘア マテリアルに影響を与えるバックライトの量を制御します。
このシェーディング モデルを使用してヘアをセットアップする例については、Epic Games Launcher の [Learn (ラーニング)] タブで入手できる「デジタル ヒューマン」ドキュメントとサンプル プロジェクトを参照してください。
布地
Cloth シェーディング モデルは、マテリアルのサーフェス上に薄い半透明層のフィルムを持つクロスのようなマテリアルを、より適切にシミュレーションするために使用できます。

Cloth シェーディング モデルは、Main Material ノード上で Material 入力を 2 つ開きます。
- Fuzz Color:この入力を使用すると、マテリアルに色を追加することができます。それにより、光がサーフェスを通過するときの色の変化をシミュレートできます。
- Cloth:この入力により、マスクとしての Fuzz Color の強度を制御できます。値 0 は Base Color に対して曖昧な色が反映されないことを示します。値 1 は Base Color に完全にブレンドされることを示します。
目
非常に技術的で、シェーダーのコード、マテリアル、ジオメトリの形状、およびジオメトリの UV レイアウトとの間で非常に強い従属関係を持たせるために開発された、高度なシェーディング モデルです。Epic では、独自の目のアセットを開発する場合、またはこのプロジェクトから直接移行する場合、とっかかりとして「デジタル ヒューマン」サンプル プロジェクトを使用することをお勧めしています。
Eye シェーディング モデルは目のサーフェスをシミュレーションするために使用します。

以下の Eye Material インスタンスは、「デジタル ヒューマン」サンプル プロジェクトにある目のシェーダーのさまざまな生物学的部分に対する芸術的な制御を公開するために設定されています。
画像をクリックすると、拡大表示されます。
Eye シェーディング モデルでは Main Material ノードに入力が 2 つ追加されます。
- Iris Mask:虹彩の屈折率と深さを制御するのに便利です。
デジタル ヒューマン サンプル プロジェクトのマテリアル M_EyeRefractive の IOR パラメータと Depth Scale パラメータを参照してください。
- Iris Distance:屈折した虹彩の凹面度を制御します。
デジタル ヒューマン サンプル プロジェクトのマテリアル M_EyeRefractive の Iris Concavity Scale パラメータと Iris Concavity Power パラメータを参照してください。
クリア コート
Clear Coat シェーディング モデルは、マテリアルのサーフェスに薄い半透明のフィルム レイヤーがある多レイヤー マテリアルをより適切にシミュレートするために使用されます。Clear Coat は、金属サーフェスと非金属サーフェスの両方で使用できます。
Clear Coat マテリアルの例には、ラッカー クリア コート (家具などに使用) や、車の塗料やソーダ缶といった無色の金属の上に塗られた着色フィルムなどがあります。

Clear Coat シェーディング モデルにより、Main Material ノードで 2 つの新しいマテリアル入力が有効になります。
- Clear Coat:クリア コート層の量。「0」は標準シェーディング モデルのように動作し、「1」は完全なクリア コート モデルになります。このパラメータはマスク マテリアルと相性がいいです。
- Clear Coat Roughness:クリア コート レイヤーのラフネス。小さい値を使用すると、近似値の精度が高くなります。非常にラフなクリア コート レイヤーもサポートされていますが、現実世界のクリア コートほど精度は高くなりません。
アンビエント オクルージョン
Ambient Occlusion 入力は、サーフェスの隙間内で発生するセルフシャドウイングのシミュレートに使用されます。通常、この入力は、Maya、3ds Max、Zbrush などの 3D モデリング パッケージ内で作成されることが多い、何らかのアンビエント オクルージョン テクスチャ マップに接続されます。

この入力は、Static または Stationary の移動性を使った光源に依存してビルト ライティングを生成します。このマテリアル入力は、そのマテリアルが 移動可能 な光源と組み合わせて使用される場合、暗黙的に無視されます。
屈折
Refraction 入力は、サーフェスの屈折率をシミュレートしたテクスチャまたは値を受け取ります。通過する光が屈折するガラスや水といったオブジェクトに役立ちます。
上のグラフでは、フレネル マテリアル関数を使用して 2 つの異なる IOR 値をブレンドしています。

一般的な屈折率 | |
---|---|
空 | 1.00 |
水 | 1.33 |
アイス | 1.31 |
ガラス | 1.52 |
ダイヤモンド | 2.42 |
ピクセル深度オフセット
Pixel Depth Offset 入力は、設定したロジックを使用してシェーダー グラフ内のピクセル深度を制御するために使用されます。これにより、シーン深度に基づいてオブジェクトをブレンドまたはフェードするための独自のロジックを作成することができます。

この比較では、DitherTemporalAA マテリアル関数でピクセル深度オフセットを用いることにより、点描パターン テクスチャを使用して地面と交差するオブジェクトをブレンドする「オフセット」値を設定できるようにしています。


シェーディング モデル
この入力では、マテリアルの [Details] パネルで From Material Expression シェーディング モデルを選択する必要があります。
Shading Models 入力により、マテリアル グラフ内のロジックを用いて、マテリアルの一部に使用する利用可能なシェーディング モデルのリストから選択できるようになります。この入力は、Clear Coat や Default Lit など、複数のシェーディング モデルを使用する必要がある単一のオブジェクトがある場合に便利です。これにより、必要なマテリアルの数を削減し、パフォーマンスとドローコールを節約することができます。これらすべては、シェーディング モデル式ノードといくつかのテクスチャ マスクを用いたマテリアル内のロジックによって操作できます。
以下は、If 式を使用してシェーディング モデルを選択する簡単な例です。

この例を使うと、A が B より大きい場合、シェーディング モデルは Default Lit となります。A が B 以下の場合、メッシュの部分に Default Lit シェーディング モデルと Clear Coat シェーディング モデルを表示するためにテクスチャ マスクが使用されます。


この入力の使用法の詳細と例については、「From Material Expression」ページを参照してください。