BLOGブログ

2014.11.19UE4UE/ Material

[UE4]Material Instanceの基本的な使い方

改訂バージョン: Unreal Engine 4.20

今回はUE4初心者向け、今更聞けない!?”Material Instance”の基本的な使い方について解説したいと思います。

“Material Instance”とは、親Materialの性質を受け継いだ子Materialです。

親”Material”と、その子”Material Instance”は下記のような関係性を持ちます。

① ベースMaterial(親)への変更は、Material Instance(子)に自動的に適用される。

② ベースMaterial(親)lの中の特定の”Texture”や”数値”を「Parameter」化すると、Material Instance(子)に差分を持たせる事ができる。

 

1.Material Instanceの作り方

今回は下図のようなマテリアルを親にして、Material Instanceを作ってみたいと思います。

 

 

1.コンテントブラウザ上で、親にしたいMaterialを右クリック→”Create Material Instance”を押下します。

 

2.コンテントブラウザ上に、親Materialとサムネイルが同じ「マテリアル名_Inst」というアセットが作られたと思います。

3.ダブルクリックすると、下記のようなMaterial Instance Editorが立ち上がります。

 

 

2.親MaterialのTextureをパラメータ化する

1.親のマテリアルを開き、”Texture Sample”を右クリック → “Convert to Parameter”を押下し、TextureをParameter化します。

 

2.Texture ParameterのDetailsから、”Parameter Name”に適当な名前に設定します(今回は「BaseColor」としました)。

 

子のMaterialInstanceを開くと、ParameterGroupsの中に先ほど親Material上に設定した「BaseColor」が現れます。

チェックボックスを押下すると、Parameter化したTexture「BaseColor」を変更できるようになります。

 

同様の方法で、一つの親から複数のMaterial Instanceを生成し、それぞれのTextureを変更してみました。

07

親MaterialにNormalMapを設定してみました。自動的に、全ての子Material Instanceに、変更が適用されます。

08

今回はTextureをパラメーター化しましたが、ScalerやVector等の数値もパラメーター化できるので、計画的に親Materialを作成する事で、効率的にアセットを量産する事ができます。

Material Instanceを使いこなすことで、Materialの管理を効率化したり、DrawCallを減らしてパフォーマンスを向上させたり、BluePrintやMatineeと連携させたりと、

色々な恩恵を得る事が出来るので、ぜひ活用してみてください。