Unity2021の新機能—Material Variant(マテリアルバリアント)を簡単に解説! マテリアル管理を楽にしよう!

Unity2021の新機能—Material Variant(マテリアルバリアント)を簡単に解説! マテリアル管理を楽にしよう!

こんにちは~!Glassesのタケです!

今回は久しぶりにUnity関連の記事を書いていきます!
WebGLの方が今は触る機会が増えに増えて、なかなか触れていませんが…

今回はUnity2021の新機能である…
Material Variant(マテリアルバリアント)機能を使って便利に色変えをしていきたいと思います!



Material Variantが登場する前、Unityのマテリアル変更にはいくつか難点がありました。
例えば、モデルのカラーリングがある場合にマテリアルをカラーごとに作ったとします。

そして作ったあとしばらくして、ちょっとスムースネスのパラメータを変更したい!という注文がありました。
カラーのパラメータしか変えてないにもかかわらず、マテリアルすべてを選択してスムースネスを変更しなければなりません。

数個ならいいですが、大量にあると設定し忘れなどのミスが起きてしまいます。

そこで、Material Variantの登場です!
Unityではマテリアルに親子関係を作ることで、この問題に立ち向かいました。
親マテリアルで変更があった場合子マテリアルのすべてに変更が加わります
ですが、子マテリアルで特定の項目に変更があった場合は子マテリアルの設定が尊重されるという素晴らしい機能です。

…文字で書いても分かりづらいので、一緒にやってみましょう!



まずはデフォルトのカラーなどを設定したマテリアルを作ります。
ここでは例として、ベーシックなメタルからブロンズ、シルバー、ゴールドの三つのマテリアルを作っていきます。
このBaseMetalマテリアルがオリジナルになります。

次に、作ったオリジナルのマテリアルを複製します。名前をBronzeに名前を変更します。
ここでBronzeを選択し、マテリアル設定の右上にある、階層構造のようなアイコンのボタンを押します。
そうすると、Material Variantのメニューが開きます。

Materialと書いてあるプルダウンメニューを押して、Material Variantを選択します。
これで、Bronzeマテリアルはマテリアルバリアントになりました。

マテリアルバリアントになると、Parentという項目が出現します。
このParentに最初に作ったBaseMetalを割り当てます。

これで、BaseMetalを親に持つマテリアルバリアントになりました。
Bronzeを複製してSilverとGoldも作ります。

それでは、それぞれのベースカラーを変えてみましょう!
SilverはカラーをそのままにSmoothnessをいじってみました。

ここで、BaseMetalマテリアルのベースカラーやSmoothnessをいじってみましょう。
そうするとほかの金属も同じようにパラメータが変わることがわかります。

他にも全体的に変更してほしくない値などは左にあるロックボタンで子マテリアルから変更できないように設定したりすることもできます。

この新機能であるMaterial Variantを使って、大量にマテリアルを管理するときに役立てましょう!
もちろんカスタムシェーダでも使用することができるのでぜひ使ってみてください!

ではでは~!



現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!

〔企画運営〕株式会社シェルパ 
公式HP https://sherpa-cg.com/
〒810-0042
福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
TEL 092-717-6800 / FAX 092-717-6801