Clusterの自作アイテムに色と光沢をつける方法を解説 Unityマテリアル設定

この記事では、Clusterの自作アイテムに任意の着色するために、Unityのマテリアル値を設定方法を記載した。さらに光沢をつけるためのMetallic値とSmoothness値の設定方法を記載した。

これまでのアイテム着色の失敗概要
これまで自作アイテムの色については、BlenderでエクスポートしたFBXファイルを、Unityに取り込んだ後に、MagicaVoxelでエクスポートしたPNGファイルを、追加でUnityに取り込むことで着色していた。しかしこの方法では、アイテムに光沢を付けることができない(MagicaVoxelでは光沢色つけられないため)。BlenderにOBJファイルを取り込んだ際に、Blender内でマテリアル操作を行い表面に光沢を付けることもできるが、光沢を付けたオブジェクトをBlenderからマテリアルをエクスポートしてUnityにインポートする方法はなさそうだった。

今回はUnityの中でマテリアルを操作してアイテムに光沢を付けてみる。

準備
Unity Hubのアイコンをクリックして起動。
Projectsウィンドウで“ClusterCreatorKitTemplate-master”クリック。

最低限のコンポーネント(床・出現位置・最低高度)と、トロフィーオブジェクト(trophy10)を“子”にした空の“親”オブジェクト(GameObject(2))が表示された。

アイテムに持てる機能を設定する(詳細は前回記事参照)
マテリアル作業に入る前に、アイテムに“持つ”機能をつけて、立った状態でGameビューに表示させる準備を行う。

Hierarhcyビューで“GameObject(2)”を選択。
Inspectorビューで[Add Component]ボタンをクリック。
検索バーから、“Grabbable Item”をInspectorに追加する。

持てるアイテムにするためには子オブジェクトにはColliderを付ける必要がある。
Hierarhcyビューで子オブジェクト(trophy10)選択。
Inspectorビューで[Add Component]ボタンをクリック。
検索バーから、“Box Collider”を追加する。

再度Hierarhcyビューで“GameObject(2)”を選択しInspectorビューのPositionでZ位置を“1”に変更(Gameビューで立った状態で表示させるため)して完成。

アイテムの確認

再生ボタン([▶])をクリックしてGameビュー起動。

持てるのか?光沢はあるのか?
アイテムが表示されるので、ポインターを合わせてクリックして持ちあげる
マウス移動で、上方(空側)や下方(床側)に視点を変更してみる。
アイテム表面は、光の当たり方によって明暗となるが、黄色に光沢はない

ここからマテリアルを新規作成し、アイテムに設置する。

新規マテリアル作成

マテリアルオブジェクト作成
はじめに設置するマテリアルのオブジェクトを作成する。
上部メニューの「Assets」→「Create」クリック。
表示メニューから「Material」をクリック。

ProjectビューのAssetsフォルダ内に“New Material”というオブジェクトが作成された。
クリックするとInspectorビューに詳細が表示された。

マテリアルの色を設定・光沢を調整

マテリアルオブジェクトのInspectorビューを操作する。
今回はInspectorビュー項目の、Main Maps(図の赤枠)のAlbedoMetallicSmoothness(図の青枠)の値を変更して、下部にあるプレビューで外観(色)を確認する。

Albedoの色欄(デフォルトは白)をクリックするとColorウィンドウが表示される。
サークル状のカラーマップ部をクリックすると、サークル内にある四角色マップのベース色が変更される(今回は赤→青)。

四角色マップ内で色をクリックすると、ポイント部の色(赤枠)が指定される。
色を指定すると、Inspectorビューのプレビュー色、Assetsフォルダ内のマテリアルオブジェクトの表示色ともに変更された(青枠)

次はMetallicSmoothnessの値を変更してプレビューで外観の変化を確認する。

Metallicを0から1に変更するとプレビューの光沢が少し増した。

Smoothnessを1にすると、プレビューで外観がツルツルピカピカになった。
MetallicとSmoothnessともに0.7とすると丁度よい感じの光沢となった。

マテリアルをアイテムに設定する

マテリアルを設定
Assetsフォルダ内にある、色の変化したマテリアルオブジェクトを、Sceneビューのオブジェクトにドラッグ&ドロップ
これだけ。

Sceneビューのオブジェクトの色が変わった。

アイテムの光沢を確認

Gameビュー再生
再生ボタン([▶])クリックしてGameビュー起動。

アイテムが表示されるので、クリックして持ちあげる。
上方では影となってよく分からないが、下方(床側)とすると、光源がうつり光沢があるのがわかる。

光沢の調整

InspectorビューでMetallicSmoothnessの値を変えてみる。
Metallic値を下げるとプラスチック的となる?

Clusterにアップロードして確認

このマテリアル状態でClusterにアップロードできるのか検証する。

Gripを設定(詳細は前回記事参照)
アップロードする前にGrip位置を設定する。
上部メニューの「GameObject」→「Create Empty」クリック。
Hierarhcyビューに“GameObject(3)”が追加されるので
GameObject(2)の上にドラッグ&ドロップして“子”とする。

さらにGameObject(3)のPostionをX:0, Y:0, Z:0に変更する(アイテムの底中心を持ち位置とする)。

Hierarhcyビューの“GameObject(3)”を、GameObject(2)のInspectorビューのGrip項目にドラッグ&ドロップする(持ち位置として指定する)。

GameObject(2)の状態を確認。
Hierarhcyビューでは、GameObject(2)の“子”に“trophy10”と持ち位置の“GameObject(3)”が設定されている。
Inspectorビューで“Item(Script)”の“Item Name”とSizeを入力して、Grabbable ItemのGripは“GameObject(3)”に指定されている。

オブジェクトPrefab化
次のアップロード準備として、オブジェクトをPrefabs化する。
Hierarhcyビューの“GameObject(2)”をProjectビューのAssetsフォルダ内にドラッグ&ドロップする。

Assetsフォルダ内にPrefabs化オブジェクトが作成された。
Inspectorビューでオブジェクト名は“GameObject(2)(Prefab Asset)”。
これでアップロード準備OK。

アップロード
上部メニューの「Cluster」→「クラフトアイテムアップロード」クリック。
クラフトアイテムアップロードウィンドウが表示されるので、作成したPrefabs化オブジェクトをアップロードウィンドウ内にドラッグ&ドロップ

正常なアイテムと表示されたのを確認して、ウィンドウ下の[アップロード]ボタンをクリックしてClusterにアップロードする。

Clusterページが表示されて、マイコンテンツページのリストにアップロードした青色トロフィーが追加された。
Unityのマテリアルがちゃんと設定された状態でアップロードできている。
成功

マテリアルの変更方法

ところで、元の色に戻すにはどうすればよいのか?
Assetsフォルダ内にある元の色がついたオブジェクト“trophy10”をクリックする。

オブジェクトの内容(色情報“palette”とメッシュ情報“trophy01”)が展開される。
この色情報オブジェクトをSceneビューのオブジェクト(青色)にドラッグ&ドロップすると、元の黄色に戻った。

元の色にもどったオブジェクトのInspector情報を見ると、Materialが“Palette”となっていた。
色(マテリアル)情報は、ここの項目で設定するということか。

終了操作。

保存
上部メニュー「File」→「Exit」クリック。
保存警告ウィンドウで[Save]クリックして、Unity Hubウィンドウとして終了。

今回はUnityでオブジェクトのマテリアルを設定して、アップロードできることが確認できた。

タイトルとURLをコピーしました