MagicaVoxelで作ったプリキュアをUnityで動かす と そのニコニコ動画 を参考に、MagicaVoxelで作ったデータをUnityちゃんのアニメーションで動かしてみました。いくつか躓くポイントがあったので補足を書いておきます。
目次
作業補足
Remove DoublesとSubdivideを必ずやる
動画を見ながら作業したのですが、ポイントとしては、「Remove Doubles」で頂点の削除、「Subdivide」で頂点を増やす作業を行わないと、Blenderの自動生成したボーンにうまくスキンが適用されずエラーが発生しました。Remobe Doublesは、立方体が2つ並んでいるときに、重なった頂点を削除する機能です。これを実行すると頂点数が減って綺麗になりますが、ボーンを適応するには少なすぎるため、Subdivideで頂点分割をします。なんで減らしたのに増やすの?と思いますが、頂点数が少なすぎてボーンがうまく適用できないようです。Voxelは頂点数が少ないので必ずこの作業はしましょう。
FBX出力時の調整
また、FBXで出力する際に、Scaleの調整(1.00?または100?)と、XYZの座標が異なるので、とりあえずZ Forwardにして、ArmatとMeshのみをShiftボタンを押しながら選択して、カメラやランプを出力しないようにしました。
Unityに取り込んだ後にテクスチャファイルを設定する
さらに、FBXで出力していざUnityのシーンにドラッグアンドドロップしてもテクスチャが白いままでした。何か設定方法があるかもしれませんが、FBXをUnityにドロップした際にできたMetarialsフォルダーにpngファイルを配置し、それをマテリアルのAlbedoに設定する事で表示することができました。
このpngファイルは、おそらくMagicaPixelで.objにエクスポートした時にできたパレット情報のファイルです。
ここまでやってUnityちゃんを公式サイトからダウンロードして.unitypackageで取り込んで、Unityちゃんのアニメーションを適用することができました。
課題
いくつか課題が見つかったのでメモ。
- Unityちゃんのアニメーションを取り込んだら、新規にアニメーションクリップを作成できなくなった。どうやったらアニメーションクリップを作成できるか?
- また、Blenderでアニメーションを作成してみる
以下の方は、Blenderでアニメーションを作成しているようなので参考になりそうです。
まとめ
ひとまず、MagicaVoxelで作ったモデルにBlenderでアーマーチェア(ボーン)を適用して、Unityでアニメーションさせることができました。あとは自分でアニメーションが作成できれば、MagicaVoxelでオブジェクトのモデリングができるため作業効率が上がります。今度は、自分でUnityまたはBlenderでアニメーションを作成してそれを動作させたいです。