Material 入力

マテリアルに利用可能なさまざまな入力ポートの詳細とその使用方法

Windows
MacOS
Linux

ここではマテリアル作成時に利用可能な入力ポートに注目していきます。これらの入力ポートに値を入力する (定数、パラメータ、テクスチャなどとして) ことによって、思いつくほとんどの物理表面を定義することができます。

すべての入力ポートが Blend モードと Shading モデルの全ての組み合わせに使用されるわけではありません。作成したマテリアルのタイプに使用されている入力ポートを識別するために、各入力がいつ使用できるかを指定します。

入力ポートとマテリアル設定

作成したすべての種類のマテリアルに、全ての入力ポートが便利というわけではありません。例えば、 Light 関数の作成時にライトに適用するマテリアルは、 Metallic や Roughness などその他の入力ポートは適用できないため、 Emissive Color 入力ポートのみの使用となります。そのため、作成しているマテリアルのタイプをしっかり理解してから、使用する入力ポートを考えることが重要です。以下が、主要な 3 つの制御プロパティです。

  • Blend Model - マテリアルが背後のピクセルとブレンドする方法を制御します。

  • Shading Model - マテリアルの表面へライトを計算する方法を定義します。

  • Material Domain - マテリアルの使用目的を制御します。表面の一部、 Light 関数、ポストプロセス マテリアルとしての使用などです。

幸運なことに、どのマテリアル タイプにどの入力ポートが必要かを推測する作業は、アンリアル・エンジン 4 から除外されています。マテリアルのこれらの設定を変更すると、使用できる入力ポートが更新され、必要のない入力ポートが無効になります。

Base Color (基本色)

Base Color は、マテリアルの全体の色を定義します。Vector3 (RGB) 値を受け取り、各チャンネルは自動的に 0 と 1 の間にクランプされます。

現実世界から取得した場合、偏光角フィルタを使用して写真を撮影した色です。 (偏光は、アライメントされた時に非金属のスペキュラを消去します)。

BaseColor_QS.png

Metallic (メタリック)

Metallic 入力は、文字通りサーフェスをどのように「メタル状」にするかを制御します。ノンメタルは、値 0 のメタリック値を使用し、 メタルには、値 1 のメタリック値を使用します。純粋な金属、石、プラスチックなどの純粋なサーフェスでは、 この値は 0 または 1 を使用し、その中間値は使用しません。腐食している、埃っぽい、あるいは錆びたメタルなどのハイブリッドなサーフェスを作成する場合には、 0 と 1 の中間値を使用する場合もあります。

Metallic_21.png

スペキュラ

ほとんどの場合、Specular 入力を接続せずに、デフォルト値は 0.5 のままにしておきます。

0 と 1 の間の値を設定して、ノンメタル のサーフェス上で、現在のスペキュラリティ量をスケールします。メタルには無効です。

Specular_21.png

Roughness (ラフネス)

Roughness 入力値は、その言葉通りマテリアルのラフネス (粗さ) の度合いを制御します。ラフなマテリアルはスムーズなマテリアルと比較して、より多くの方向へ反射光を散乱させます。 この効果は、反射のぼやけ具合やはっきり加減、 もしくは広域またはタイトなスペキュラ ハイライトとして見ることができます。値 0 のラフネス (スムーズ) はミラー反射、値 1 のラフネス (ラフ) は完全な艶消しまたはディフューズ (拡散色) となります。

ラフネスは、サーフェスに最も物理的なバリエーションを加えるためにオブジェクトに頻繁にマッピングするプロパティです。

クリックしてフルサイズで表示

Emissive Color (エミッシブ色)

Emissive Color 入力は、マテリアルのどの部分に発光による輝きを適用するか制御します。この部分はマスクされたテクスチャを受け取ることが理想です (発光する領域を除いてほぼ黒) 。

値が 1 より大きいと、HDR ライティングとしてサポートされます。

クリックしてフルサイズで表示

Opacity (オパシティ)

Translucent Blend Mode を使用する場合は Opacity 入力が使用されます。以下の条件で 0 と 1 の間の値の入力が有効になります。

  • 値 0.0 は完全に透明であることを意味します。

  • 値 1.0 は完全に不透明であることを意味します。

サブサーフェス シェーディング モデルのどれかを使う場合、不透明でマスクされたブレンド モードも Opacity を使います。

クリックしてフルサイズで表示

Opacity は主に、 半透明加算変調マテリアル に使用します。

Opacity Mask

Opacity Mask は Opacity と似た入力ですが、Masked Blend モードを使用した場合のみ利用できます。Opacity と同様に 0.0 から 1.0 の間の値を受け取りますが、 Opacity と 異なる 点は、グレーのさまざまな描画は結果的に表示されないという点です。Masked モードにすると、マテリアルは完全に表示または非表示のどちらかになります。ワイヤーメッシュ、チェーンでつながれたフェンスなど、複雑な固体表面を定義するマテリアルが必要な時に理想的な解決法です。不透明部分はいまだにライティングを尊重します。

Opacity Mask Clip Value プロパティをベースの Material ノードに使用して、クリッピングが生じる場所を制御することができます。詳細は Material Blend モード を参照してください。

クリックしてフルサイズで表示

Normal (法線)

Normal 入力は法線マップを受け取り、各ピクセルの「法線」または対向方向を摂動して、表面に多くの物理的な詳細を与えます。

Axes.png

上の画像では 両方の武器に同一のスタティック メッシュを使用しています。下の画像では、非常に詳細な法線マップを表すことで、非常に多くの詳細が追加されるため、実際のレンダリング数よりも多いポリゴン数が表面に含まれているような錯覚を与えます。このような法線マップは多くの場合、Pixologic ZBrush など、高解像度モデリングソフトで作成されます。

NormalNetwork.png

World Position Offset

World Position Offset 入力は、マテリアルによるメッシュの頂点のワールド空間での操作を有効にします。オブジェクトの移動、形状の変更、回転、その他のさまざまな効果に実用的です。アンビエント アニメーションなどに実用的です。

クリックしてフルサイズで表示

上記ネットワークは、らせん運動と上下への波打ちをオブジェクトに対して同時に実行し、ダンスをしているような動作を引き起こします。

World Position Offset を使用して元の範囲を超えてオブジェクトを展開する時、オクルージョン カリングは元の範囲を使用していることに留意してください。つまり、カリングおよびシャドウイング エラーが発生するかもしれません。メッシュのプロパティの Scale Bounds プロパティを設定して調整してください。ただし、パフォーマンスの妨げとなりシャドーイング エラーが起こる可能性があります。

World Displacement と Tessellation Multiplier

World Displacement 入力は World Position Offset ととても似ていますが、メッシュのベースとなる頂点ではなく、 Tessellation の頂点を使用します。Material ノードの Tessellation プロパティを None 以外の何かに設定して有効にします。

Tessellation Multiplier 入力はサーフェスに沿ってテッセレーションの量を制御し、必要に応じて詳細を追加できるようにします。World Displacement 入力と同じで、Tessellation プロパティを None 以外に設定して有効にします。

クリックしてフルサイズで表示

World Displacement を使用して元の範囲を超えてオブジェクトを展開する時、オクルージョン カリングは元の範囲を使用していることに留意してください。つまり、カリングおよびシャドウイング エラーが発生するかもしれません。メッシュのプロパティの Scale Bounds プロパティを設定して調整してください。ただし、パフォーマンスの妨げとなりシャドーイング エラーが起こる可能性があります。

Subsurface Color (サブサーフェス カラー)

Subsurface Color入力は、 Shading Model プロパティが Subsurface に設定されているときのみ有効になります。この入力は、表面を通過するライトに色の変化をシミュレートするために Material ノードへ色を追加します。例えば、人間のキャラクターの皮膚表面下を流れる血液をシミュレートするには、表皮に赤のサブサーフェスカラーを使用します。

クリックしてフルサイズで表示

アンビエント オクルージョン (AO)

環境オクルージョンは表面の隙間内に生じる、セルフシャドーイングのシミュレーションを行うために使用します。一般的に、この入力は何らかのタイプの AP マップへ接続します。 Maya 、 3ds Max 、 ZBrush などの 3D モデリング パッケージ内でよく作成されます。

NormalNetwork.png

Refraction (屈折)

Refraction 入力は、表面の屈折インデックスをシミュレーションするテクスチャまたは値を受け取ります。通過するライトを屈折させるガラスや水などに実用的です。

クリックしてフルサイズで表示

Refraction の共通インデックス

Air

1.00

Water

1.33

Ice

1.31

Glass

1.52

Diamond

2.42

[Clear Coat]

Clear Coat Shading Model は、マテリアルのサーフェス上に薄い半透明層のフィルムを持つマルチレイヤーのマテリアルを、より適切にシミュレーションするために使用できます。 それ以外にも、金属、非金属のサーフェスで使用できます。実際、無色系の金属マテリアルの上に 色がついた半透明の層を重ねるような表現に特化して設計されています。Clear Coat マテリアルの例としては、金属の上にアクリルやラッカーのクリアコートが塗られていたり、色付きフィルムが被せられた飲料水の缶やクルマのペイントがあります。

Clearcoat.png

Clear Coat Shading Model は、Main Material ノード上に新しい Material 入力を 2 つ開きます。

Clear Coat:クリアコート層の量を調整します。0 にすると、スタンダードなシェーディングモデルとおなじになります。1 でクリアコート層が 100 % かかります。このパラメータはマスク素材と相性がいいです。

Clear Coat Roughness:クリアコート レイヤーのラフネス (拡散具合) を調節します。小さい値に対して精度の高い近似値を使います。非常にラフなクリアコート レイヤーもサポートされていますが、現実世界のクリアコートほど精度は高くなりません。

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信