この記事では、Clusterの自作アイテムに、Unity上で別々のマテリアルを設定することで、任意の着色をする。実際にはBlender上で別のマテリアルを設定したオブジェクトをUnityにインポートして、それぞれ別のマテリアルとして着色した。
問題点提起
以前の記事でClusterのアイテムにUnityでマテリアルを設置したのだが、アイテムには1つのマテリアルしか設定できなかった。そのため、初めに作ったPNG画像(テクスチャ)以外では、1色しか着色できなかった。
このことから、MagicaVoxelで作成しエクスポートした3Dモデルのそのままでは、全体として1つのマテリアルとしかしか設定されていないので、結果Unityでは1色(1マテリアル)しか設置できないことがわかった。
任意の色でアイテムに着色するなら、1つのモデルに複数のマテリアルを設定する必要がある。
前の記事(以下参照)で、Blender上でアイテムに複数のマテリアルを設定できた。
今回はこのモデルを利用して、Unityでアイテムに2つのマテリアルを設定する。
準備
UnityHubからClusterCreatorKitTemplate-master起動。
![](https://nahbun50.com/wp-content/uploads/2023/02/795316b92fc766b0181f6fef074f03fa-2-500x210.png)
オブジェクトのマテリアルを確認
オブジェクトをUnityにインポート
上記記事で作成したBlenderからエクスポートしたFBXファイルをデスクトップに設置。
この2色トロフィーモデル(結果金色は設定できなかったがファイル名はtrophy_gold.fbx!)を、Unity画面のProjectビューAssetsフォルダ内にドラッグ&ドロップ。
![](https://nahbun50.com/wp-content/uploads/2023/02/2b530e80c7d0de90885e285c5d798063-2-800x446.png)
Assetsフォルダ内に2色トロフィーモデルがオブジェクトとして追加された。
オブジェクトをSceneビューに追加
このオブジェクトをHierarhcyビュー内にドラッグ&ドロップする。
![](https://nahbun50.com/wp-content/uploads/2023/02/c8856789ec11ab8b1013037cef6929f9-2-800x720.png)
2色オブジェクトが、Hierarhcyビューにリスト追加され、Sceneビューに表示された。
マテリアルの確認
Inspectorビュー(図の赤枠)を確認すると、2つのマテリアルが設定されている。
Blendereで設定した2つのマテリアルは、そのままUnityにインポートしても保持されていた。
![](https://nahbun50.com/wp-content/uploads/2023/02/3a4f695a458cb0ac0aceaa2eb13ac2dd-2-800x332.png)
1つのオブジェクトに2つのマテリアルが設定されていることが分かったので、これらをそれぞれ異なるマテリアルに変更できるのか検証する。
マテリアルを任意の色に変更
Projectビューで、ClusterTutorialフォルダ内のMaterialフォルダ内にある“1-1”フォルダ(数種類のマテリアルが入っている)を選択して開く。
ビューに表示されたマテリアルをSceneビューのオブジェクトのそれぞれの色の部分(トロフィー部と台座部)にドラッグ&ドロップする(図の緑矢印)。
![](https://nahbun50.com/wp-content/uploads/2023/02/f96d9b4281f6d16b3c7589aed5a17be5-2-800x455.png)
それぞれの色が変更された(気持ち悪い配色になってしまった・・・)。
![](https://nahbun50.com/wp-content/uploads/2023/02/94ed160662be198949535a112047e9b4-2-500x293.png)
オブジェクトのInspectorビューを確認すると、マテリアルが2つとも、ドラッグ&ドロップしたマテリアルに変更されていた(図の赤枠)。
![](https://nahbun50.com/wp-content/uploads/2023/02/f4a1b0aed5dc02442c433030ff24c031-2-800x333.png)
更に色の変更
前回自作した光沢のある青マテリアルもドラッグ&ドロップで使用可能であった。
台座は1-1フォルダの別のマテリアルに変更。
これなら気持ち悪くはないな。
![](https://nahbun50.com/wp-content/uploads/2023/02/8aa09ea6d7822fbb10331635d428d488-2-500x221.png)
Blenderのマテリアルをそのまま(光沢等の設定を維持したまま)Unityにインポートすることはできない(光沢はなくなる)が、Blenderで異なるマテリアルを指定した部分については、Unityにインポートしても異なるマテリアルであることが保持されていた。
そして、異なるマテリアルが設定されている部分には、それぞれに異なるマテリアルを設定することができた。
つまり、Blenderで3つマテリアルを設定すれば、Unityで3色を設定できることになる。