【Unity】MagicaVoxel のモデルに Blender でアニメーションをつけて Unity で動かす(前編)
以前の記事では、MagicaVoxel で3Dドットモデルを作成して、Unity に取り込んで動かすまでをやりました。
実際には、3Dドットのボクセルモデルに攻撃モーションなどのアニメーションをつけたいので、MagicaVoxel でエクスポートしたオブジェクトをそのまま Unity に取り込むのではなく、一旦 Blender 取り込んでアニメーションを追加してから Unity にインポートする方法を試してみることにします。
Blender の インストール
下記のサイトからダウンロードします。
私の場合は Mac なので、
Blender 2.77a for Mac OSX
のZipをダウンロードしました(2.77a は 執筆時点での最新版)
ダウンロードしたZipファイルを解凍して、アプリケーションフォルダなど任意のフォルダに置けばインストールは完了です。フォルダ内の Blender.app をダブルクリックすれば、Blender が起動します。
MagicaVoxel のモデルを Blender にインポート
不要な立方体を削除する
Blender を起動すると、デフォルトで立方体が作成されるので削除しておきます。立方体を左クリックで選択して(選択しても反応があまりないので不安になりますが、オレンジの枠で囲まれてたら選択されてます)、x キーを押すと下記のような確認ダイアログが表示されるので Delete をクリックします。
ショートカットキーを覚えられないという方は、右上に Unity でいうHierarcy Viewみたいな小さなウィンドウがあるので、そこからでも操作できます。立方体オブジェクト(Cubeという名前になってます)を選択後、右クリックして Delete を選択しても削除できます。
MagicaVoxel のデータをインポート
- File > Import > Wavefront (.obj) を選択
- MagicaVoxel で エクスポートした objファイルをダブルクリック
灰色のかなり大きい(?)状態で、モデルが Blender にインポートされました。(マウスのホイールで視点の拡大縮小ができます)
モデルのサイズを小さくする
モデルを選択した状態で s キー(左のToolタブのScaleボタンでもよい)を押してマウスを動かせばモデルのサイズを変更できます。Scale値を直接入力したい場合は、その状態で数値を入力しEnterを押してください。例えば、0.2 と入力してEnterを押せば 20% の大きさになります。実行後は、左下の Resize の Vector が すべて 0.2 になっているのが確認できます。
テクスチャーを設定
下のほうの丸いアイコンを選択して、テクスチャを選択すると色が付きます。
ライトの設定
顔にライトが当たってなくて暗くなっているので、ライトの位置を調整します。右上のHierarcy から Lamp を選択。デフォルトではかなり遠くにあるので、マウスホイールで視点を縮小してください。
左下にある浮き輪みたいな丸は関係ないのでご注意を。(最後に選択した位置を表してるだけっぽいです)Tool の Translate ボタンを選択してマウスを動かせば位置を移動できます(見えやすくするだけなので適当な位置で大丈夫なはず)
ファイルをセーブする
一度ファイルを保存しておきましょう。File > Save で 場所とファイル名を設定して、Save Blender File を押せば完了です。
Unity に取り込む
慣れないツールで疲れたので、まだアニメーションはつけてないですが、一度 Unity にインポートして動作確認することにしました。
1. File > Export > FBX (.fbx) を選択
2. 左のサイドバーの Selected Objects にチェックをつける(チェックしないと Cameraや Lamp オブジェクトも一緒にエクスポートされてしまいます)
3. Scale の値を 100 に変更(100にするとBlender上での座標値1とUnity上での座標値1が同じになるそうです)
4. 任意の場所を設定し、右上の Export FBX ボタンを押します。
5. エクスポートした FBX ファイルを Unity にドラッグ&ドロップ
6. Materialフォルダが自動的に生成されるので、中にあるマテリアルのテクスチャ画像を設定
無事、インポートできましたー!
あとがき
Blender の UI や操作が独特で、慣れるまで時間がかかりそうです。また、MagicaVoxel でモデルを変更したら、1回Blenderに取り込んでから Unity に取り込まないといけないので、モデルの微調整する場合に手間がかかりそうです。でも、無料で提供してもらえるのは本当に有難いことですし、もう少し使ってみようかなと思います。とりあえず、次の後編ではアニメーションをつけるところまでいきたい!
追記:後編書きました!