Prefab Variantのマテリアル版的な「Material Variant」がUnity2022.1で追加されるみたいなので、使ってみましたという記事です。
その他2022.1で追加される機能は下記のリンクから確認できます。
Unity - Manual: New in Unity 2022.1
- 環境
- Material Variantとは
- Material Variantを生成
- Material Variantの設定を変更してみる
- 変更したくないパラメータをロックする
- MetalicとSmoothnessを変えてみた
- おわりに
環境
WIndows 10
Unity2022.1.0f1
Material Variantとは
Unity - Manual: New in Unity 2022.1の説明をサクッと読んでみました。
どうやらほぼ同じ設定のマテリアルの、ごく一部のパラメータだけを変更した派生マテリアルを作成したいときに便利な機能のようです。
Material Variantを生成
Material Variantを生成したいマテリアルをProject ウィンドウから右クリック、CreateメニューからMaterial Variantを選択して生成します。
またはインスペクタ上のマテリアル設定を右クリックして「Create variant for renderer」を選択すると、元のマテリアルと同一のディレクトリ内にMaterial Variantが生成されます。
生成されたMaterial Variantは「元の名前 Variant」という名前で生成されるようです。
そして、元のマテリアルはMaterial VariantのParent(親)になります。
Material Variantの設定を変更してみる
試しにAlbedoの設定を白色から赤色に変えてみました。
変更したパラメータは左側に白い線が表示されます。 こういった変更の表示はPrefabVariantと似ていますね。
また、パラメータ名(今回はAlbedoという文字の部分)を右クリックすると、 変更したパラメータについて特定の操作をするためのメニューが、下図のように表示されます。
Apply to Material 'Base' は変更した設定を元々のマテリアルの設定に上書きします。今回の例だと白色から赤色に変更しているため、元々のBaseマテリアルも赤色になります。
Revertは変更した設定を変更前に戻し、Revert all Overridesは全ての設定を元に戻します。
変更したくないパラメータをロックする
先ほど、Lock in childrenというのがありましたが、これを使うと特定のパラメータをParentで設定した値から変更できないようにできます。
ロックを設定すると、下図のようにロックしたパラメータの左側にアイコンが表示されます。
そしてMaterial Variant側ではロックしたMetalicの項目が変更不可になります。
MetalicとSmoothnessを変えてみた
BaseのMetalicとSmoothnessの値を変更するだけで、Base Variantの方も変化させることができました。
おわりに
雑魚敵キャラの作成など色違いキャラを作成するときに便利そうな機能だと思いました。
2022.1は大幅な変更よりも便利機能の追加が多そうなので、気づき次第取り上げてみたいですね。