この記事では、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(図の赤枠)のAlbedo、Metallic、Smoothness(図の青枠)の値を変更して、下部にあるプレビューで外観(色)を確認する。
Albedoの色欄(デフォルトは白)をクリックするとColorウィンドウが表示される。
サークル状のカラーマップ部をクリックすると、サークル内にある四角色マップのベース色が変更される(今回は赤→青)。
四角色マップ内で色をクリックすると、ポイント部の色(赤枠)が指定される。
色を指定すると、Inspectorビューのプレビュー色、Assetsフォルダ内のマテリアルオブジェクトの表示色ともに変更された(青枠)。
次はMetallicとSmoothnessの値を変更してプレビューで外観の変化を確認する。
Metallicを0から1に変更するとプレビューの光沢が少し増した。
Smoothnessを1にすると、プレビューで外観がツルツルピカピカになった。
MetallicとSmoothnessともに0.7とすると丁度よい感じの光沢となった。
マテリアルをアイテムに設定する
マテリアルを設定
Assetsフォルダ内にある、色の変化したマテリアルオブジェクトを、Sceneビューのオブジェクトにドラッグ&ドロップ。
これだけ。
Sceneビューのオブジェクトの色が変わった。
アイテムの光沢を確認
Gameビュー再生
再生ボタン([▶])クリックしてGameビュー起動。
アイテムが表示されるので、クリックして持ちあげる。
上方では影となってよく分からないが、下方(床側)とすると、光源がうつり光沢があるのがわかる。
光沢の調整
InspectorビューでMetallicとSmoothnessの値を変えてみる。
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でオブジェクトのマテリアルを設定して、アップロードできることが確認できた。