Unreal Engineに限らず、マテリアルはオブジェクトの外観や質感を制御するための重要な要素です。
今回紹介するマテリアルインスタンスは、元のマテリアルをベースにして派生したバリエーションを簡単に作成するための機能です。
今回はマテリアルインスタンスの基本的な概念とその活用方法、そしてその利点について紹介します。
マテリアルインスタンス
マテリアルインスタンスの基本
マテリアルインスタンスは、元のマテリアルをベースにして作成される、パラメーター化されたマテリアルのバリエーションです。
作成方法は元のマテリアルを右クリックし、「マテリアルインスタンスを作成」をクリックします。
すると末尾に【_Inst】とついたマテリアルが作成されました。これがマテリアルインスタンスです。
マテリアルインスタンスは、元のマテリアルのプロパティをオーバーライドしたり、新しいテクスチャやカラーを適用したりすることができます。
元となるマテリアルをWクリックし、マテリアルグラフを表示しノードを出していきます。
ノードは右クリックから検索して出すことができ、インスタンスでテクスチャやパラメータを変更することができます。
今回はTextureSampleParameter2D、Multiply、ScalarParameter、VectorParameter(色は白にする)のノードを出し、元となるマテリアルを上記のように繋ぎます。
VectorParameterの色を変えるには、ノードを選択して左の「マテリアルエクスプレッションベクターパラメータ」のDefalut Valueのから変更できます。
それぞれのノードについて紹介もしたいのですが、今回はマテリアルインスタンスの紹介なので省略します。
マテリアルインスタンスの活用方法
名称/グループごとに管理
名前の変更やグループごとに管理できます。
複数のテクスチャやパラメータを使う場合に、項目ごとに分けて管理することができます。
それぞれノード名とグループ名を付けてマテリアルインスタンスを付けると上図のようになります。
右の方に変更できる項目が表示されています。チェックを入れることで変更ができます。
それぞれのノードに付けた名称は以下の通りです。
ノード | ノード名 | グループ名 |
---|---|---|
VectorParameter | Color | Color |
TextureSampleParameter2D | T_Color | Color |
ScalarParameter | Value_1 | Metal |
ScalarParameter | Value_2 | Roughness |
色や質感の変更
オブジェクトの色や質感を簡単に変更できます。建物の外壁の色を異なるバリエーションで表現する際に、同じマテリアルをベースにした複数のマテリアルインスタンスを作成し、色を変更することができます。
テクスチャの変更
異なるテクスチャを適用する際にも役立ちます。
季節によって草地のテクスチャを変更する場合や違う質感のテクスチャに変更する際に同じマテリアルインスタンスを使用してテクスチャを切り替えることができます。
効率的なリソース管理
リソースの効率的な管理が可能となります。
同じ基本マテリアルを共有し、異なるプロパティやテクスチャをパラメーターとして変更することで、メモリ使用量や処理負荷を削減できます。
実際に上図のようにノードを組み、元のマテリアル(M_Test)とインスタンス(M_Test_Inst)の容量を見てみると6KB差が出ました。
マテリアルインスタンスのメリットと負荷軽減
マテリアルインスタンスの利点は多くありますが、特に以下の点が上げられます。
効率的な作業フロー
マテリアルインスタンスを使用することで、同じ外観を持つオブジェクトを複数作成する際の作業が効率的になります。新しいバリエーションを作成する際に元のマテリアルをコピーする必要がなく、パラメーターの調整だけで済むため、制作時間が短縮されます。
リソースの最適化
マテリアルインスタンスを使用することで、リソースの最適化が可能です。同じ基本マテリアルを再利用することで、メモリ使用量を削減し、ゲームやアプリケーションのパフォーマンスを向上させることができます。
柔軟なカスタマイズ
マテリアルインスタンスは、プロパティの調整やテクスチャの切り替えなどを通じて、オブジェクトの外観を簡単にカスタマイズできるため、柔軟性が高まります。
オススメの本
SHOP
BOOTH
-マナベルCG 出張所-
マナベルCGではBOOTHにて、アセットショップ「マナベルCG 出張所」を開設しています!
テクスチャもpsd、もしくはspp付きで販売していますので、是非とも足を運んでみてください!
まとめ
マテリアルインスタンスはUnreal Engineにおいて、効率的な作業フローやリソースの最適化、柔軟なカスタマイズなどのメリットを提供することができます。
色や質感、テクスチャなどを簡単に調整し、多様なオブジェクトを効果的に作成するための強力なツールです。
また効率的な制作プロセスを実現し、高品質なリアルタイムコンテンツを創造することができますので、是非とも活用していってください。
X(Twitter)も運営していますのでフォローしてくるとうれしいです。
記事投稿のお知らせもしていますのでよろしくお願いいたします。
以上、最後まで読んでいただきありがとうございました。
ここの記事で使用しているのはUnreal Engine5.2.1となっています。
コメント