このページでは、メイン マテリアル ノード上で使用できるすべての入力を説明します。これらの入力ポートに値を入力する (定数、パラメータ、テクスチャなどとして) ことによって、マテリアルのサーフェスプロパティを定義して、ほぼ無限の種類の物理サーフェスを作成できます。
各マテリアルにすべての入力が必要なわけではありません。また、一部のマテリアルタイプでは、デフォルトでメイン マテリアル ノードに表示されない入力が必要です。
入力とマテリアル プロパティ
詳細パネルで特定のマテリアル プロパティを変更すると、メイン マテリアル ノードの一部の入力が白くなり (有効になっていることを示します)、他の入力はグレーアウトになります。
マテリアルで有効にする入力を制御する 3 つのマテリアル プロパティです。
Blend Mode - マテリアルが背後のピクセルとブレンドする方法を制御します。
Shading Model - マテリアルの表面へライトを計算する方法を定義します。
Material Domain - マテリアルの使用方法、(サーフェス、ライト関数、またはポストプロセス マテリアルの一部であるかなど) を決定します。
マテリアルに必要な入力が無効になっている場合は、上記のプロパティの 1 つ以上が正しく設定されていないことが原因です。たとえば、ガラス板を作成しようとしているのに、不透明度の入力が無効になっている場合です。この例の解決策は、Blend Mode を Translucent に変更することです。
Base Color
Base Color はマテリアルの全体的な色を定義します。原則として、Base Color は、鏡面反射/ハイライトを差し引いた、表面で反射されたディフューズ ライトを表す必要があります。
実世界から取る場合、ベースカラー テクスチャは偏光フィルターを使用して撮影する必要があります。偏光により、位置合わせ時に非金属の鏡面反射が除去されます。
Metallic
Metallic 入力は、サーフェスがどの程度「金属に似ている」かを調整します。Metallic は、0 から 1 までの任意の値を受け入れますが、ほとんどの場合、Metallic はそのいずれかのプロパティと見なされます。
非金属は Metallic 値が 0 です。
金属は Metallic 値が 1 です。
純粋な金属、純粋な石、純粋なプラスチックなどの純粋なサーフェスの場合、この値は 0 または 1 となります (その間の値にはなりません)。腐食した金属、ほこりっぽい金属、さびた金属などのハイブリッド サーフェスを作成するには、0〜1 の値が必要になる場合があります。
メタリック マスクを使用する場合、テクスチャの値は純粋な黒または純粋な白である必要があります。ブレンド (腐食した金属など) を作成する場合のみグレースケール値を使用します。
Specular
スペキュラリティは、サーフェスが反射する光の量を示す単位です。Specular 入力は 0 から 1 の間の値を受け取り、サーフェスが反射する範囲を定義します。
値が 0 - 完全に反射なし
値が 1 - 完全に反射あり
デフォルト値は 0.5 (約 4% の反射率を表します)。
Roughness
Roughness 値はマテリアルのサーフェスの粗さ、または滑らかさを制御します。粗いマテリアルはスムーズなマテリアルと比較して、より多くの方向へ反射光を散乱させます。Roughness 値は、反射のぼやけ度合い、またはシャープさ (またはスペキュラ ハイライトの広さまたは狭さ) を制御します。
Roughness が 0 (滑らか) の場合、鏡のような反射になります。
Roughness が 1 (粗い) の場合、ディフューズまたはマットなサーフェスになります。
ほとんどのサーフェスは粗さや滑らかさが均一ではありません。Roughness は、サーフェスに物理的な変化を追加するためにオブジェクト上に頻繁にマッピングされるプロパティです。
ラフネス マップが必要なマテリアルには、金属上の傷、ウッドフロアの擦り傷、プラスチックについた指紋などがあります。
Anisotropy 入力と Tangent 入力
Anisotropy 入力と Tangent 入力を使って、マテリアルのラフネスの異方性とライトの指向性を調整することができます。これら 2 つの入力は、マテリアルに艶消し金属のような異方性を持つエフェクトを再生成するために使用されます。
Anisotropic 入力と Tangent 入力を使用しないと、マテリアルは等方性反応となります。これは、Anisotropic 入力の値が 0 の場合も同じです。
異方性反応は -1.0 から 1.0 の間の値で調整することができます (値 0 は等方性エフェクトなしです)。
異方性マテリアルはデフォルトで有効になっていますが、コンソール コマンド r.AnisotropicMaterials
を使用して無効にすることができます。有効になると、異方性はサポートされた Gen5 プラットフォームで、スケーラビリティ設定が High、Epic、Cinematic の場合に機能します。
Tangent 入力を使用して、テクスチャまたは Vector 式をもつライトの方向性を定義します。
Emissive Color
Emissive Color 入力は、マテリアルが発光する部分、および発光の明るさを制御します。この入力はマスクされたテクスチャを受け取ることが理想です (発光する領域を除いてほぼ黒) 。
値が 1 より大きいと、HDR ライティングとしてサポートされます。
Opacity
Opacity 入力は Translucent Blend モード で、特に Translucent、Additive、Modulated マテリアルを使用する場合に有効になります。
値 0.0 は完全に透明マテリアルであることを意味します。
値 1.0 は完全に不透明マテリアルであることを意味します。
0 から 1 の小数値は、半透明にちかい、または半透明のマテリアルを生成します。
サブサーフェス シェーディング モデルのどれかを使う場合、不透明でマスクされたブレンド モードも Opacity を使います。
Opacity は主に、Translucent、Additive、Modulated マテリアルに使用します。
Opacity Mask
Opacity Mask は Opacity と似た入力ですが、Masked Blend モードを使用した場合のみ利用できます。
Opacity 入力との違いは、Opaity Mask は部分的または中間的な透過処理ができない点です。 オパシティ マスクを使用すると、マテリアルの範囲は完全に表示されるか、完全に非表示になるかのいずれかになります。ワイヤーメッシュ、チェーンでつながれたフェンスなど、複雑なソリッド サーフェスを定義するマテリアルが必要な場合の理想的な解決方法です。
Opacity Mask Clip Value プロパティを使って、クリッピングが発生する値を設定することができます。たとえば、Opacity Mask Clip Value 値を 0.5 に設定すると以下になります。
不透明度マスクの値が 0.5 より大きいピクセルは、完全に不透明になります。
不透明度マスクの値が 0.5 未満のピクセルは、完全に透明になります。
詳細は Masked Blend モード を参照してください。
Normal
Normal 入力は法線マップを受け取り、各ピクセルの「法線」または対向方向を摂動して、表面に多くの物理的な詳細を与えます。
上の画像では 両方の武器に同一のスタティック メッシュを使用しています。下の画像では、非常に詳細な法線マップを表すことで、非常に多くの詳細が追加されるため、実際のレンダリング数よりも多いポリゴン数が表面に含まれているような錯覚を与えます。
通常このような法線マップは、Pixologic ZBrush など、高解像度モデリングソフトで作成されます。
World Position Offset
World Position Offset 入力を使って、マテリアルはワールド空間でメッシュの頂点を操作することができます。オブジェクトの移動、形状の変更、回転、その他のさまざまな効果に実用的です。World Position Offset は微かなアンビエント アニメーションによく使用されます。
上記のネットワークにより、球は頂点法線に沿って 1 秒の正弦波周期で拡大および縮小します。
World Position Offset を使用して元の範囲を超えてオブジェクトを展開する時、オクルージョン カリングは元の範囲を使用していることに留意してください。つまり、カリングおよびシャドウイング エラーが発生するかもしれません。メッシュのプロパティの Scale Bounds プロパティを設定して調整してください。ただし、パフォーマンスの妨げとなりシャドーイング エラーが起こる可能性があります。
Subsurface Color
Subsurface Color 入力は、Shading Model プロパティが [Subsurface] に設定されている場合のみ有効になります。この入力は、Material ノードへ色を追加して、表面を通過するライトの色の変化をシミュレートすることができます。
たとえば、人間のスキン シェーダーは、多くの場合、表面下の血液をシミュレートするために赤のサブサーフェス カラーを使用します。サブサーフェスの皮膚への効果は、強い光源で逆光を当てると、鼻の先、指、耳たぶなどの四肢で最も顕著になります。
Custom Data
Custom Data マテリアル入力はデフォルトで無効になっています。Shading Model の使用中のみ有効になります。Custom Data スロットは、状況に合わせた入力によって追加されて、一部の Shading Model にユニークなニーズをサポートします。
たとえば、シェーディング モデルで Eye を選ぶと、Custom Data 入力は Iris Mask と Iris Distance になります。
Custom Data 入力を使用するシェーディング モデルには以下があります。
Clear Coat
Subsurface Profile
Hair
Cloth
Eye
Hair
Hair シェーディング モデルを使用すると、髪の透過性質のシミュレーションが良化します。このシェーディング モデルは、完全な円柱ではない髪の中の光の通過方法をを近似します。
さらに、統一されたスペキュラ ハイライトをレンダリングするのではなく、スペキュラ反射は髪が向いている方向に応じて個々に配置されます。
Hair シェーディング モデルを選択すると、メイン マテリアル ノードの 3 つの入力が有効になります。
Scatter: この入力は髪の中を通過することができる光の散乱量を調整します。
Tangent: この入力は Normal 入力に代わるもので、UV テクスチャ座標に沿って法線方向を制御するために使用します。
Backlit: この入力は、このヘア マテリアルに影響を与えるバックライティングの量を調整します。
このシェーディング モデルを使用したヘアの設定例は、「[デジタル ヒューマンDigital Humans]」、また Epic Games Launcher の [Learn] タブで使用できるサンプル プロジェクトを参照してください。
Cloth
Cloth シェーディング モデルは、マテリアルのサーフェス上に薄い半透明層のフィルムを持つクロスのようなマテリアルを、より適切にシミュレーションするために使用できます。
Clear シェーディング モデルは、Main Material ノード上で Material 入力を 2 つ開きます。
Fuzz Color: この入力は、Material ノードへ色を追加して、表面を通過するライトの色の変化をシミュレートすることができます。
Cloth: この入力で Fuzz Color の強度をマスクとして制御することができます。値 0 は Base Color に対して曖昧な色が反映されないことを示します。値 1 は Base Color に完全にブレンドされることを示します。
Eye
非常に技術的で、シェーダーのコード、マテリアル、ジオメトリの形状、およびジオメトリの UV レイアウトとの間で非常に強い従属関係を持たせるために開発された、高度なシェーディング モデルです。Epic は、独自の目のアセットを開発する時、またはこのプロジェクトから目のアセットを直接移行する際には、Digital Humans サンプル プロジェクトから使用を始めることを推奨します。
Eye シェーディング モデルは目の表面をシミュレーションするために使用しmます。
以下の目のマテリアル インスタンスは、Digital Humans サンプル プロジェクトに入っている目のシェーダーのさまざまな生物学的部位に対して人工的な制御を曝すために設定されています。
画像をクリックするとフルサイズで表示されます。
Eye シェーディング モデルでは Main Material ノードに入力が 2 つ追加されます。
Iris Mask: 虹彩の屈折と深度の指数を制御します
Digital Humans サンプル プロジェクトのマテリアル M_EyeRefractive の IOR パラメータと Depth Scale パラメータを参照してください。
Iris Distance: 屈折した虹彩の凹面を調整します。
Digital Humans サンプル プロジェクトのマテリアル M_EyeRefractive の Iris Concavity Scale パラメータと Iris Concavity Power パラメータを参照してください。
Clear Coat
Clear Coat シェーディング モデルは、マテリアルのサーフェス上に薄い半透明層のフィルムを持つマルチレイヤーのマテリアルを、より適切にシミュレーションするために使用します。金属、または非金属のサーフェスに Clear Coat を使用できます。
Clear Coat マテリアルの例としては、ラッカー クリアコート (家具に使用するなど)、または車のペンキやソーダ缶などの無着色の金属上にある着色フィルムがあります。
Clear Coat シェーディング モデルは、Main Material ノード上で 2 つの新しい Material 入力を有効にします。
Clear Coat: クリアコート層の量を調整します。0 にすると、スタンダードなシェーディングモデルとおなじになります。1 でクリアコート層が 100 % かかります。このパラメータはマスク素材と相性がいいです。
Clear Coat Roughness:クリアコート レイヤーのラフネスを調節します。小さい値に対して精度の高い近似値を使います。非常にラフなクリアコート レイヤーもサポートされていますが、現実世界のクリアコートほど精度は高くなりません。
Ambient Occlusion
Ambient Occlusion 入力は、サーフェスの凹部内で発生するセルフ シャドウイングをシミュレートする際に役立ちます。一般的に、この入力は何らかの種類の アンビエント オクルージョン テクスチャ マップへ接続します。 Maya 、 3ds Max 、 ZBrush などの 3D モデリング パッケージ内でよく作成されます。
この入力は、Static または Stationary の移動性を使った光源に依存してビルトライティングを生成します。このマテリアル入力は、マテリアルがムーバブルな光源と一緒に使用されると静かに無視されます。
Refraction
Refraction 入力は、サーフェスの屈折のインデックスをシミュレートするテクスチャあるいは値を受け取ります。通過するライトを屈折させるガラスや水などに便利です。
上のグラフでは、Fresnel マテリアル関数を使用して、2 つの異なる IOR 値をブレンドしています。
Refraction の共通インデックス |
|
---|---|
Air |
1.00 |
Water |
1.33 |
Ice |
1.31 |
Glass |
1.52 |
Diamond |
2.42 |
Pixel Depth Offset
Pixel Depth Offset 入力は設定したロジックを使用してシェーダー内のピクセル深度を調整するために使用します。これにより、シーン深度に基づいてオブジェクトをブレンドまたはフェードするための独自のロジックを作成することができます。
この比較において、 Pixel Depth Offset を DitherTemporalAA Material Function と使用すると、点描パターンのテクスチャを使ってオブジェクトがグラウンドと交わるようにブレンドする「オフセット」値を設定することができます。
Shading Model
この入力では Material [Details (詳細)] パネルで From Material Expression Shading Model を選択する必要があります。
Shading Models 入力によって、マテリアルに使用することができるシェーディング モデルの一覧から選択するロジックをマテリアル グラフで使用することができます。この入力は、Clear Coat や Default Lit のように複数のシェーディング モデルの使用を必要とする単一のオブジェクトがある場合に便利です。これにより、必要なマテリアル数は減り、パフォーマンスと描画コールを節約できます。この操作はすべて、Shading Model ノードといくつかのテクスチャ マスクを使って、マテリアルのロジックで行うことができます。
以下はシェーディング モード間を選択するために If 式を使ったシンプルな例です。
この例を使うと、A が B より大きい場合、シェーディング モデルは Default Lit となります。A が B 以下の場合、メッシュの部分に Default Lit シェーディング モデルと Clear Coat シェーディング モデルを表示するためにテクスチャ マスクが使用されます。
この入力の使用方法の詳細については、「From Material Expression」を参照してください。