Clear Coat (クリアコート) シェーディング モデルの使用時に、クリアコート レイヤーの下のサーフェスに 2 つ目の法線マップを追加するオプションを使用することができます。このオプションを使うと、クリアコート レイヤーとは異なるジオメトリ サーフェスを持つカーボン ファイバーなどの複雑なマテリアルも正確にモデル化ができるようになります。このチュートリアルでは、 Clear Coat シェーディング モデル で 2 つ目の法線マップを使用する方法と、プロジェクトでこの機能を有効にする方法について説明します。
2 つ目の法線の効果
操作の説明を始める前に、2 つ目の法線マップを追加すると、クリアコート シェーディング モデルにどんな効果があるのか見てみましょう。
画像の左側は Clear Coat Bottom Normal がオフにされています。クリアコートの下のサーフェスがライティングと交わっていますが、ライトがサーフェスに与える影響は 1 方向のみなので、ライティングが少しフラットに見えてしまいます。
一方、右側は Clear Coat Bottom Normal がオンにされています。ライトはサーフェス上で複数方向に影響を与えようとしています。それではこの操作を行ってみましょう。
必要なファイル
チュートリアルに従って作業するために、まず以下のテクスチャ ファイルをダウンロード、展開して Unreal Engine プロジェクトにインポートしてください。操作方法がわからない場合は、「テクスチャ インポート ガイド」を参照してください。
必要なテクスチャのダウンロード (名前をつけて保存するには右クリック)
Clear Coat Second Norma オプションを有効にする
2 つ目の法線を使う前に、以下の手順に従って機能を有効にします。
メイン ツールバー から [Edit (編集)] > [Project Settings (プロジェクト設定)] を選びます。
[Project Settings (プロジェクト設定)] で [Rendering] > [Materials] を選び、[Clear Coat Enable Second Normal] オプションの横にあるボックスにチェックを入れて有効にします。
機能を有効にしたらエディタを再起動する必要があります。求められたら [Restart Now (再起動する)] オプションをクリックします。
Clear Coat Second Normal Option を使用する
次の手順を使用して、基礎となるレイヤーに 2 つ目の法線マップを使用するクリアコートマテリアルを作成します。
コンテンツ ブラウザ を右クリックしてコンテキスト メニューの Create Basic Asset で マテリアル を選択します。
マテリアルに「ClearCoat_DualNormals」のような分かりやすい名前をつけます。マテリアルをダブルクリックしてマテリアル エディタで開きます。
マテリアル エディタでマテリアル グラフのどこかをクリックすると、マテリアルのプロパティが [Details (詳細)] パネルに表示されます。マテリアルの [Shading Model] を Default Lit から Clear Coat に変更します。
マテリアル グラフに Scalar Parameter Expression ノードを 4 つ追加し、以下の名前と値を入れてメイン マテリアル ノードに接続すると、以下の画像と同じになります。
マテリアル表現式のタイプ
名前
デフォルト値
Scalar Parameter
Base Color
0.04
Scalar Parameter
Metallic
1.0
Scalar Parameter
Clear Coat
1.0
Scalar Parameter
Clear Coat Roughness
0.1225
設定するには、マテリアルの [Roughness] セクションで、次のマテリアル表現式ノードをマテリアル グラフに追加します。スカラー パラメータの名前と値を以下の表に一致するように変更します。パラメータの名前を変更して、すべてのマテリアル式を接続すると、表の下にある画像のようなグラフになります。
マテリアル表現式のタイプ
名前
デフォルト値
Scalar Parameter
Roughness Scaling
30.0
Scalar Parameter
Roughness Min
0.1
Scalar Parameter
Roughness Max
1.349
Texture Sample
N/A
T_CarbonFiber_R_00
Texture Coordinate
N/A
N/A
Multiply
N/A
N/A
Linear Interpolate
N/A
N/A
このマテリアルは 2 つの法線マップを使っているので、グラフで異なる 2 つの 法線マップ セクションを設定する必要があります。まず 1 つ目セクションは Clear Coat サーフェスの法線です。以下のマテリアル表現式ノードが必要です。スカラー パラメータの名前を変更して、表に従ってデフォルト値を設定します。マテリアル表現式を接続すると以下の画像のようになります。
マテリアル表現式のタイプ
名前
デフォルト値
Scalar Parameter
Clear Coat Normal Strength
0.98
Scalar Parameter
Clear Coat Normal Scaling
30.0
Texture Sample
N/A
T_CarPaint_N_00
Texture Coordinate
N/A
N/A
Multiply
N/A
N/A
FlattenNormal
N/A
N/A
2 つ目の法線マップは、クリアコートの下にあるカーボンファイバーの表面を定義します。以下にリストされているマテリアル式を追加し、次の名前とデフォルト値を付けます。下の画像と一致するように、マテリアル式ノードを接続します。
マテリアル表現式のタイプ
名前
デフォルト値
Scalar Parameter
Carbon Fiber Scaling
30.0
Scalar Parameter
Carbon Fiber Strength
0.5
Texture Sample
N/A
T_CarbonFiber_N_00
Texture Coordinate
N/A
N/A
Multiply
N/A
N/A
FlattenNormal
N/A
N/A
ClearCoatBottomNormal (ClearCoatNormalCustomOutput)
N/A
N/A
ClearCoatBottomNormal マテリアル式ノードをマテリアル グラフに追加し、使用する法線マップをその入力に接続していることを確認してください。そうしておかないと、マテリアルの中で 2 つ目の法線マップを見ることができません。
マテリアル グラフの各セクションの設定がすべて完了して、[Roughness] セクションの Lerp の出力をメイン マテリアル ノードのMain Material ノードを Roughness 入力へ接続します。FlattenNormal ノードの出力をメイン マテリアル ノードの Normal 入力へ接続します。カーボン ファイバー法線マップはすでに ClearCoatBottomNormal カスタム出力ノードに接続されているため、追加の接続は必要ありません。最終的なマテリアル グラフは以下のとおりです。
マテリアル エディタのツールバーで [Apply (適用)]、[Save (保存)] の順にクリックして、マテリアルをコンパイルして、アセットを保存します。完成したカーボン ファイバー マテリアルは、以下に示すプレビューのようになります。