MagicaVoxel で作った3DドットキャラクターをUnityで動かすまでのメモ
MagicaVoxel
公式からダウンロード
MagicaVoxelでモデルを作成する
http://github.dev7.jp/b/2015/12/15/precureadv20151213/ こちらのサイトから手に入れた「base.vox」を元にキャラクターを作成する。
完成したら、.objファイルで出力する。
Blender
ボーンの設定
http://github.dev7.jp/b/2015/12/15/precureadv20151213/ こちらのサイトから手に入れた BaseArmature.blend を開く。
File->import->(.obj)を選択、先ほど出力した objファイルを指定する。
左メニュー、ToolsタブのTranslateを一度押し、下にマウススクロールすると読み込んだモデルの拡大縮小ができるので、ボーンにあった大きさまで縮小する。
モデルを右クリックし、その後タブキーを押して Editモードに切り替える(タブを押すと、オブジェクトモードと Editモードを切り替えることができる)。
Editモードになったら、左メニューのToolsタブ、remove:項目の「Remove Doubles」を押す。
その後、同タブの add:項目の「subdivide」を押す。
(これらはモデルの頂点の重複などに関する処理のようだが、門外漢なので行う理由はわからない)
タブキーを押して、オブジェクトモードに変更する。
モデルを右クリックした後、Shiftキーを押しながらボーンを右クリックする(モデルが赤い輪郭で、ボーンがオレンジの輪郭で選択状態になる)
Control + P で Set_Parent_toメニューを表示。その中の「With Automatic Weights」を選択する(モデルとボーンの紐付け)
きちんと紐づいたかの確認は、Poseモードで行える(ビューワー下に Object, Editなどのモードを変える箇所があり、そこでPoseモードに変更できる)。頭のボーンを右クリックして、左右に動かしてみるとわかりやすいと思う。
ボーンのセットを確認したら、File->export->(.fbx)を選択して保存しよう(UnityのAssetsフォルダにしまえると、入れる手間が省ける)
Unity
モデルとテクスチャの設定
Assetsフォルダにあるモデルは、そのままではテクスチャがないので全体が灰色のままだ。
Unityではモデルを取り込むと、その階層に「Material」フォルダが作成される。中を見よう。 モデルのマテリアル(白球みたいな奴)を選択し、右メニュー(inspector)の shaderを「Mobile/Bumped Diffuse」に変更する。
肝心のテクスチャ用の画像は、MagicaVoxelで .objファイルをエクスポートしたときに、同じ階層に pngファイルが出来ているはずなので、それをUnityに取り込もう。
モデルのマテリアルを再び選択し、inspectorの Base(RGB)の欄にある四角いゾーンに取り込んだpngファイルをドラッグ&ドロップしよう。これでテクスチャをモデルに関連づけられる。
最後に、Assetsフォルダにあるモデルを選択し、Inspector内の Rigタブを選択。Animation Type を Humanoidに設定。そしてApplyボタンを押して更新しよう。
これでモデルの取り込みは完了だ。
蛇足 アニメーション
Unityちゃんのアニメーションをパクって、アニメーションさせてみる。 (あらかじめUnityちゃんを落としておくこと。Unity内のビューワー上部のAsset Storeも使えるぞ)
下のAssetsビューワー内で右クリックし、create->Animator Controller を選択。 作成された Animator Controllerをクリックして開く。
表示項目のうち、Entryの下あたりで右クリック->create state->empty で空のアクションを作成。 作成したアクションを選択し、右メニューのinspectorにて、Motionを設定する。 (Unityちゃんが入っていないと、選択できるものがないので注意)
以上、あとは実行すればアニメーションをしてくれる。
以前投稿した、これに関するメモが残ってたのでアップしておく。
— かさっき(ハンター) (@kasackee_jp) 2018年2月25日
ネットの海で、この資料が役に立つ人が1人くらいいるかもしれない。 pic.twitter.com/LzKC37szk2