関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2014.11.19UE4UE/ Material
改訂バージョン: Unreal Engine 4.20 |
今回はUE4初心者向け、今更聞けない!?”Material Instance”の基本的な使い方について解説したいと思います。
“Material Instance”とは、親Materialの性質を受け継いだ子Materialです。
親”Material”と、その子”Material Instance”は下記のような関係性を持ちます。
① ベースMaterial(親)への変更は、Material Instance(子)に自動的に適用される。
② ベースMaterial(親)lの中の特定の”Texture”や”数値”を「Parameter」化すると、Material Instance(子)に差分を持たせる事ができる。
今回は下図のようなマテリアルを親にして、Material Instanceを作ってみたいと思います。
1.コンテントブラウザ上で、親にしたいMaterialを右クリック→”Create Material Instance”を押下します。
2.コンテントブラウザ上に、親Materialとサムネイルが同じ「マテリアル名_Inst」というアセットが作られたと思います。
3.ダブルクリックすると、下記のようなMaterial Instance Editorが立ち上がります。
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を変更してみました。
親MaterialにNormalMapを設定してみました。自動的に、全ての子Material Instanceに、変更が適用されます。
今回はTextureをパラメーター化しましたが、ScalerやVector等の数値もパラメーター化できるので、計画的に親Materialを作成する事で、効率的にアセットを量産する事ができます。
Material Instanceを使いこなすことで、Materialの管理を効率化したり、DrawCallを減らしてパフォーマンスを向上させたり、BluePrintやMatineeと連携させたりと、
色々な恩恵を得る事が出来るので、ぜひ活用してみてください。