この記事では、Clusterのワールドで使うこと(あるいは設置)ができるアイテムを作成する方法を説明する。大まかな流れは、前半はMagicaVoxelで3Dモデルを作成し、それをBlenderを経由してUnityにインポートする。後半はUnityでモデルを編集した後にClusterにアップロードしてワールドで使えるようにする。今回は前編。
初心者でも達成を目指すため、スタートは比較的簡単に3Dモデルを作成することができるMagicaVoxelとする。
MagicaVoxelでのモデル作成は以下の記事を参照:
MagicaVoxelで3Dモデルを作成
なんとなくトロフィーをアイテムとして作成することに決めた。
MagicaVoxel起動。
16四方の空間を設定して、[Attach]でボクセルを並べてトロフィー調モデル作成。
[Paint]に切り替えて着色。
3Dボクセルモデル完成。
Blenderに取り込める形式で保存する
Blenderにインポートできる形式は決まっている。
画面右下にある[Export]タグをクリック。
いつくかの保存形式がメニューで表示されるので[obj]を選択してクリック。
「名前を付けて保存」ウィンドウで、ファイル名”trophy01”を入力して[保存]クリック。
保存先として「MagicaVoxel-0.99.6.4-win」フォルダ内の「export」フォルダの中に保存される。
「export」フォルダを開くと3つのファイルが入っているので、3つ全てをデスクトップに新規作成した”trophy1”フォルダ内にドラッグ&ドロップで移動した。(この3つのファイルが必要)
MagicaVoxel作業は終了。
モデルをBlenderにインポートして編集後エクスポート
準備
Blenderアイコンをダブルクリックして起動。
起動したら3Dビューエリアの方をクリック。中央に設置された立方体をクリック選択後[Del]キーで削除。これでプレーンな作成画面となる。
モデルのインポート
次に、BlenderにMagicaVoxelで作成したトロフィーモデルを読み込む。
Blnder上部メニューの「ファイル」→「インポート」クリック。
インポート形式メニューの中から「Wavefront(.obj)」をクリック。
ファイル選択ウィンドウが表示されるので、先程デスクトップに作成した”trophy1”フォルダを開き、その中にある”trophy01.obj”ファイル(だけ)を選択して、[OBJをインポート]ボタンをクリック。
Blnder画面に灰色のトロフィーモデルが表示された。
モデルに着色する
色がついていない(灰色)が、これはシェーディングのモードを変更すると解決する。
3Dビューエリアの右上にシェーディングアイコンがならんでいる。
丸の4つのアイコンは、左からワイヤー、ソリッド、簡易レンダリング、レンダープレビュー。
アイコンははじめ”ソリッド”になっているので、”簡易レンダリング”に変更するとモデルに色が着いた。
Blender上で角度を変えて観察。
ちゃんとMagicaVoxelで作成したモデルが読み込まれているのが確認できた。
この時点で一度モデルをBlender形式で保存。
上部メニューの「ファイル」→「名前をつけて保存」クリック。
Blenderファイルビューウィンドウでデスクトップ選択、ファイル名“trophy01.blend”入力して、[名前をつけて保存]ボタンをクリックすると、デスクトップにBlenderファイルが追加された。
(なぜか色が表示されない)
保存したBlenderファイルをダブルクリックして開くと、灰色のモデルが表示された後、モデルの表示色はピンク色に変わる。
保存した時の色が表示される時もあるが、何度起動してもピンク色の時もある。
ピンク色のままでもUnityに読み込んだあとに、テクスチャーとしてPNG画像も読み込ませる必要があるため、あまり気にしないでこのまま進める。
ということで、ピンク色では見にくいので、右上のシェーディングアイコンをソリッドモード(塗りつぶした丸)に変更。
ここからエクスポートの準備
Unityインポート用のファイルにするための準備を行っていく。
プロパティエリア(画面右半分のメニュー部分)のアイコンから“シーンプロパティ”アイコンを選択してクリック。
サイズ単位の確認
Sceneメニューから「単位」タブをクリック。
「単位」項目の中の「単位系」が“メートル法”になっている(デフォルトはメートル法)ことを確認。
トランスフォーム(回転・スケール)のリセット
次は、プロパティエリアの“オブジェクトプロパティ”アイコンをクリック。
トランスフォーム項目メニューが表示される。
この状態で、上部メニューの「オブジェクト」→「適用」→「回転・スケール」をクリック。
オブジェクトプロパティのトランスフォーム項目の“回転X”が90°から0°に変更された。
モデルの原点のリセット(結果的にこれはやらなくてもよかった)
原点もきちんと設定するため、上部メニュー「オブジェクト」タブをクリック。
表示されたメニューから「原点を設定」をクリックして、「ジオメトリーを原点へ移動」をクリック。
するとモデルが下方向へ移動。モデルの中心が原点として設定されたようだ。
このように原点を設定したいときには、この操作を行う。
しかし、今回はモデルの原点はモデルの底面中心で良い(つまり初めにインポートした位置でよい)ので、上部メニューの「編集」→「元に戻す」クリックして、モデルを元の位置に戻した。
ファイルのエクスポート
Unity用ファイルの設定はこれでよさそうなので、次はファイルを作成する。
上部メニューの「ファイル」→「エクスポート」クリック。
ファイル形式のメニューから「FBX(.fbx)」を選択してクリック。
Blenderファイルビューウィンドウが表示される。
ウィンドウ右の保存設定メニューエリアを見やすいように、拡張(縁をドラッグ)。
ここから以下の操作を抜けなく行う。(2.を忘れるとファイルにLightとCameraが付随してしまう)
1.ファイル名は“trophy02.fbx”と入力。
2.保存設定メニューで、オブジェクトタイプ項目(デフォルトでは全て選択されている)で”アーマチュア”と“メッシュ”だけを選択する。
3.さらに、トランスフォーム項目の“□トランスフォームを適用”にチェック(☑)を入れる。
4.[FBXをエクスポート]ボタンをクリック。
デスクトップに“trophy02”ファイルが保存された。
“trophy02”ファイルをデスクトップに設置。
Unityに3Dモデルをインポート
Unity起動
Unity HubからUnityのClusterCreatorKitTemplate-masterを起動。
モデルのインポート
デスクトップに置いた“trophy02.fbx”ファイルを、UnityのProjectビューAssetsフォルダ内にドラッグ&ドロップ。
Assetsフォルダ内に、色の着いた“trophy02”オブジェクトが表示された。
Fbxファイルだけをインポートしたのに着色された。
理由:先に“trophy01.png”をAssetsフォルダ内においてあるので、自動的に着色された。
PNGファイルがAssetsフォルダ内に置かれていない場合の解決方法
MagicaVoxelからエクスポートした時に一緒に保存されたPNGファイルをAssetsフォルダ内にドラッグ&ドロップする。
Sceneにオブジェクトを設置
“trophy02”オブジェクトをHierarhcyビューにドラッグ&ドロップ。
Hierarhcyビューに“trophy02”が追加された。
Inspectorビューで、Meshは“trophy01”となっている。
ここまででMagicaVocex→Blender→Unityのながれが完了した。
後編では、このモデルをClusterにアップロードする。