前回の記事「【Unreal Engine】モデルを撮影しよう!①~インポート編~」の続きになります!
第2弾となる今回は、UE5でのマテリアル設定とモデルへのアサイン(割り当て)方法を解説します。
ゲーム開発におけるマテリアル設定は、モデルの質感を表現する重要な工程です。本記事で紹介する「マスターマテリアル」と「マテリアルインスタンス」を活用すれば、開発の効率化とデータの軽量化を同時に実現できます。
クオリティアップと作業効率化のコツをマスターして、お気に入りのモデルを最高の方法で仕上げましょう!
目次
UE5のコンテンツブラウザを整理
まずは、前回の復習もかねて、コンテンツブラウザの整理から始めましょう。前回の記事で作成したフォルダに「Materials」と「Textures」のフォルダを追加します。
コンテンツ>Developers>”pc名”>Env>SM_box01>Materials
コンテンツ>Developers>”pc名”>Env>SM_box01>Textures

次に、Substance 3D Painterを使って、UE5用のテクスチャを書き出します。
UE5を使用したゲーム開発では、グレースケール画像であるMetallic、Roughness、Ambient Occlusionの3つを1枚にまとめた「マスクテクスチャ(通称:MRO/ORM)」を使うのが主流です。
1枚にまとめることで、「メモリの節約」と「描画速度(パフォーマンス)の向上」という2つの大きなメリットが得られます。
以下の記事を参考にして、UE5用のテクスチャを書き出してみましょう!
【Substance Painter】Substance PainterでUnreal Engine用のMixテクスチャを書き出そう① ~書き出し編~
テクスチャをインポート
早速、作成したフォルダ「Textures」内にテクスチャをインポートしましょう。
モデルのインポートと同様に、コンテンツブラウザ上で右クリックし、「現在のフォルダにインポート」を押すか、テクスチャファイルを直接コンテンツブラウザにドラッグ&ドロップすることでインポート設定の画面を開けます。

テクスチャ設定の変更
インポートしたテクスチャは、必ずダブルクリックして設定を確認・変更してください。設定を間違えると過度なテカりや不自然な影が入った意図しない見た目のモデルになってしまいます。
| テクスチャ | 対応 |
|---|---|
| BaseColor(カラー画像) | 特に無し |
| MRO / ORM(マスク画像) | sRGB を「OFF(チェックなし)」 に変更。 |
| Normal Map(法線・凹凸画像) | インポート時に「Normalmapとしてインポートしました」とポップアップが出た場合、対応不要。ポップアップが出ない場合は、詳細内のsRGB を「OFF(チェックなし)」 に変更。 |
Normal Mapのインポート時にポップアップが出るかどうかは、UE5がそれを「法線マップ」として自動認識できたかで決まります。テクスチャの接尾辞を「_N」や、「_Normal」とすることで、UE5が「法線マップ」だと認識し、最適な設定へと自動で切り替えてくれます。
マテリアルの設定
テクスチャの質感を正しく再現するためのマテリアル設定は重要ですが、膨大な数を個別に作成・管理すると、修正のたびに大きな手間がかかってしまいます。
そこで有効なのが、ベースとなる「マスターマテリアル」を作り、それを複製・変更してバリエーションを増やす「マテリアルインスタンス」という手法です。
マスターマテリアル
まずは、下記のフォルダ内にマテリアルを作成しましょう。マテリアル名は任意ですが、一目で役割がわかるような命名がおすすめです。(例:「M_Common」や「MM_Base」など)
コンテンツ>Developers>”pc名”>Common

早速、作成したマテリアルをダブルクリックして、マテリアルエディタを開いてみましょう。
グリッド状のウィンドウが表示されたら、画面上を右クリックして「テクスチャ>Texture Sample」を選択し、ノードを配置しましょう。(※Tキー+左クリックでも配置可能です)
テクスチャ1枚に1つのノードを割り当てるため、合計3つ配置します。続けて、各ノードを右クリックして「Convert to Parameter(パラメータに変換)」を選択し、名前をそれぞれ「BaseColor」「MRO」「Normal」に変更します。
ノードの接続方法は以下の通りです。
・BaseColor ➔ Base Color に接続。
・MRO ➔ ノードのピンを分解して接続します。
※R(赤) ➔ Metallic(金属度)、B(青)➔ Roughness(粗さ)、G(緑)➔ Ambient Occlusion
・Normal ➔ Normal に接続。

マテリアルインスタンスを作成
マスターマテリアルが完成したら、これを元にマテリアルインスタンスを作成します。
マテリアルを右クリックし、「Create Material Instance(マテリアルインスタンスを作成)」を選択します。

作成されたマテリアルインスタンスは、「MI_box01」等のわかりやすい命名に変更し、最初に作成した「Materials」フォルダにドラッグ&ドロップして移動しておきましょう。

マテリアルインスタンスをダブルクリックで開き、詳細欄から対応したテクスチャを割り当てましょう。
割り当てには、コンテンツブラウザのテクスチャをドラッグ&ドロップする方法と、テクスチャを選択した状態で左矢印のアイコンをクリックする方法があります。

これで、マテリアルインスタンスの基本設定は完了です!
マスターマテリアルには、微調整用のノードを組み込んだり、パラメータグループを設定したり、マテリアルファンクションを作成するなど、、、カスタム性は多くありますが、長くなるので今回は割愛します。
モデルへの割り当て
最後に、このマテリアルインスタンスをモデルの詳細欄にあるマテリアルスロットに割り当てれば設定完了です!
今回はマテリアルインスタンスを選択した状態で、モデルの詳細欄にある左矢印のアイコンをクリックする方法を使ってみましょう。

これで、作成したモデルに正しくマテリアルインスタンスを割り当てることができたかと思います!
コンテンツブラウザからレベルにドラッグ&ドロップすることでアセットを配置することができます。

まとめ
お疲れ様でした!正しいマテリアルとマテリアルインスタンスの活用はプロの現場でも必須のテクニックです。
次回はいよいよライティング編です。ライトと他アセットを効果的に配置して、モデルが一番映える一瞬を切り取っていきましょう!お楽しみに!
参考サイト
「【Unreal Engine】モデルを撮影しよう!①~インポート編~」
【Substance Painter】Substance PainterでUnreal Engine用のMixテクスチャを書き出そう① ~書き出し編~
--300x141.png)

