シェーディング モデルはマテリアルの入射光の反射の仕方を制御します。別の言い方とすると、最終的な外見を作成するためにマテリアルを構成する入力データをどのように使用するかを制御します。
Unreal Enigne には、設定したマテリアルの特定の外見を作り上げるために シェーディング モデル が豊富に備わっています。たとえば、Default Lit シェーディングモデルは、ほとんどのサーフェスで使用する可能性のある汎用モデルです。Unreal は特定のサーフェス タイプのために作られたシェーディング モデルを備えています。たとえば、Clear Coat、Hair、Cloth シェーディング モデルは、これらの特定のタイプのマテリアルに自然な結果を提供するように調整されています。
Unlit
Unlit シェーディング モデルは色のエミッシブのみを出力して、炎、またはオブジェクトを放出する光などの特殊効果に最適です。この例では、マテリアルはシーンに光をキャストしていません。そのかわり、Emissive の値を高くすることで発光効果をもたらします。これはカメラに適用されたダートマスクによっても検出されます。照らしているように見えますが、このオブジェクトにキャストされるライティングやシャドウはありません。エミッシブ マテリアルは、Use Emissive for Static Lighting が有効にされている場合、Lumen を有効にする、または Lightmass を使って、シーンに光をキャストできます。
Unlit シェーディング モデルを使用時は以下の入力値にアクセスできます。
Emissive Color
World Position Offset
Pixel Depth Offset
Default Lit
Default Lit はデフォルトのシェーディング モデルで、最もよく使用するモデルのひとつです。このシェーディング モデルは直接と間接ライティング、および反射のスペキュラリティを利用します。
Default Lit シェーディング モデル使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
World Position Offset
Ambient Occlusion
Pixel Depth Offset
Subsurface
Subsurface シェーディング モデルはサブサーフェス スキャタリングの効果をシミュレートします。これは光が表面を透過して、表面全体に拡散する現実世界の現象です。サブサーフェス スキャタリングは氷、ワックス キャンドル、肌などのオブジェクトですぐにわかります。
Subsurface モデル (後述の Preintegrated Skin モデルと同様に) Subsurface Color 入力に依存します。この入力は、オブジェクトの表面のすぐ下にある物質の色を定義します。光が表面を散乱すると、Subsurface Color が見えるようになります。
人間の肌の場合、濃い赤色を使用すると、表面の下を循環する血液のシミュレーションで良い結果を得ることができます。下のアイスエレメンタルでは、表面に半透明の奥行き感を与えるために、濃い青緑色 (ライティングに応じてさまざまな計算が行われている) が使用されています。
詳細については、「サブサーフェス シェーディング モデルのドキュメント」を参照してください。
Subsurface シェーディング モデルを使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Opacity
Normal
World Position Offset
Subsurface Color
Ambient Occlusion
Pixel Depth Offset
Preintegrated Skin
Preintegrated Skin シェーディング モデルは Subsurface モデルと非常によく似ていますが、精度を落としてパフォーマンス コストを抑えることを優先します。物理的には完全ではありませんが、このシェーディング モデルは人間の肌の場合 Subsurface メソッドよりもパフォーマンスが良いです。下の画像では、キャラクターの肉体に Preintegrated スキン シェーディング モデルが使用されています。
Preintegrated Skin シェーディング モデルを使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Opacity
Normal
World Position Offset
Subsurface Color
Ambient Occlusion
Pixel Depth Offset
Clear Coat
Clear Coat シェーディング モデルは、マテリアルのサーフェス上に薄い半透明層のフィルムを持つマルチレイヤーのマテリアルを、より適切にシミュレーションするために使用します。このシェーディング モデルは、無色系の金属マテリアルの上に色がついた半透明の層を重ねるような表現に特化して設計されています。ただしこのシェーディング モデルは、金属および非金属の表面に使用することができます。
金属の上にアクリルやラッカーのクリアコートが塗られていたり、色付きフィルムが被せられた飲料水の缶やクルマのペイントなどが例です。
Dual-Normal Clear Coat
クリアコート レイヤーの下のサーフェイスに 2 つ目の法線マップを追加するオプションが Clear Coat シェーディング モデルに追加されました。このオプションを使うと、クリアコート レイヤーとは異なるジオメトリ サーフェスまたは反射面持つカーボン ファイバーなどの複雑なマテリアルも正確にモデル化ができるようになります。
|
|
---|---|
Bottom Normal のある Clear Coat |
実際の写真 |
Clear Coat シェーディング モデル使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
World Position Offset
Clear Coat
Clear Coat Roughness
Ambient Occlusion
Pixel Depth Offset
Subsurface Profile
Subsurface Profile シェーディング モデル は Subsurface モデルと Preintegrated Skin シェーディング モデルに非常に似ています。ただし、ハイエンドのスキン レンダリングを対象としています。肌、特に人間の肌のシミュレーションが目的である場合、これは最高品質のシェーディングモデルです。
Subsurface Profile シェーディング モデルを使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Opacity
Normal
World Position Offset
Ambient Occlusion
Pixel Depth Offset
Two Sided Foliage
Two Sided Foliage シェーディング モデルは、木の葉を光が通り抜ける時のようにサーフェスを光が通り抜けるようにしたことで、照らされた時のフォリッジをより自然で均一に見せるために実装されました。サブサーフェス カラーは、光の透過量を定義するために使用され、葉の茎や葉脈などのマスクを作成するために使用されます。
Two Sided Foliage シェーディングモデルは、Subsurface スキャタリング モデルに存在するいくつかの問題を排除するのに役立ちます。肌や厚い表面ではうまく機能しますが、葉のような薄い表面では正確ではありません。同様に、フォリッジの場合に Default Lit シェーディング モデルを使用すると外見が正確になりません。以下の例では、Default lit を使用すると、表面の下側がほぼ黒に表示されます。これは、フォリッジを本物のように見せるために重要な光の伝達をシミュレートしていないためです。
Two Sided Foliage シェーディング モデルを使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
World Position Offset
Subsurface Color
Ambient Occlusion
Pixel Depth Offset
Hair
Hair シェーディング モデルを使うと、光の色を表すもの、および髪の色と光の色を混ぜ合わせたものなど、複数のスペキュラ 強調をシミュレートする自然な見た目の髪を作成することができます。
Hair シェーディング モデルを使用時は以下の入力値にアクセスできます。
Base Color
Scatter
Specular
Roughness
Emissive Color
Tangent
World Position Offset
Backlit
Ambient Occlusion
Pixel Depth Offset
Cloth
Cloth シェーディング モデルを使うと、クロスの特性をより正確に模倣したマテリアルを作成することができます。クロスの表面に薄い「けば状の」レイヤーが含まれ、光がこれらのタイプのマテリアルとインタラクトする方法をより適切にシミュレートします。
When using the Cloth Shading Model, you have access to the following inputs:
Base Color
Metallic
Specular
Roughness
Emissive Color
Opacity
Normal
World Position Offset
Fuzz Color
Cloth
Ambient Occlusion
Pixel Depth Offset
Eye
Eye シェーディング モデルは、目の表面をシミュレートするように設計されており、虹彩の形状と距離を芸術的に制御して表示します。シェーディング モデルは高度な技術であり、シェーダーのコード、マテリアル、ジオメトリの形状、およびジオメトリの UV レイアウトとの間に非常に強い従属関係を持たせるように開発されました。
シェーダー開発で幅広い経験がない場合は、このシェーダーを使って何もないところから目を作るのはお勧めしません。本物のような人間の目の作成に興味がある場合、Epic Games Launcher の [Learn] タブで使用できる Digital Humans サンプル プロジェクトから目のジオメトリを取り出すことを Epic は推奨します。今ある プロジェクトで目のジオメトリに割り当てたマテリアルを使って、目的に合うように必要なテクスチャを置き換えます。
Eye シェーディングを使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Opacity
Normal
World Position Offset
Iris Mask
Iris Distance
Ambient Occlusion
Pixel Depth Offset
Single Layer Water
Single Layer Water シェーディング モデルを使うと、Opaque Blend モードを使用しながら、透明な水面のエフェクトを作成することができます。これにより、Transparent Blend モードを必要とするマテリアルを使用する際の負荷と複雑さを低減します。
Single Layer Water シェーディングを使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Opacity
Normal
World Position Offset
Ambient Occlusion
Refraction
Pixel Depth Offset
詳細は、「Single Layer Water Shading Model」を参照してください。
Thin Translucent
Thin Translucent シェーディング モデルは物理ベースの透過マテリアル タイプをサポートします。スペキュラとバックグラウンド オブジェクトを正確に処理する本物のような着色ガラスを作成することができます。
例えば、着色ガラス マテリアルを作成する場合、白いスペキュラ ハイライトを追加しそれを背景に色付けする必要があります。このシェーディング モデルは、空気からガラスとガラスから空気への光のバウンスを考慮した物理ベースのシェーダを使用して、単一パスでレンダリングします。
Thin Translucent シェーディング モデルを使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Opacity
Normal
World Position Offset
Ambient Occlusion
Pixel Depth Offset
From Material Expression
From Material Expression (Per-Pixel) シェーディング モデルは、マテリアル グラフ内のロジックを通じて、複数のシェーディング モデルを単一のマテリアル (またはマテリアル インスタンス) にまとめることのできる上級者向けの機能です。
[Shading Model] を [From Material Expression] に設定すると、Shading Model 入力が使用可能になり、マテリアル グラフの Shading Model ノードを使って設定できるようになります。
From Material Expression を使用時は以下の入力値にアクセスできます。
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
World Position Offset
Ambient Occlusion
Pixel Depth Offset
Shading Model
ユースケースの例は、From Material Expression シェーディング モデルをご参照ください。