2時間で3Dモデルを作ってUnityでアニメーションさせた
Unity x 3Dでゲームを作れるようになりたい!という願望がでてきた。
今回第一歩ということで、3Dモデルを作ってUnityでアニメーションさせるということをやった。
1. 3Dモデルを作る(45分):
まずは、3Dモデルを作るところから。
今回使ったモデリングソフトはSculptris。
専門的な知識無しでも粘土感覚でモデリングできるので楽しい。
今回はUnityでアニメーションさせるのが目的なので、 さっくりと。
ちなみに、次の工程でボーンを入れやすいように、人型のキャラクターの場合はTの字にポージングして作るとと良いらしい。
ポージングとかすると、ボーンが入れづらい & アニメーションさせたときに関節周りがおかしくなるから。
obj形式でエクスポートして次へ。
2. モデルにボーンを入れる(45分):
続いて、1.で作った3Dモデルにボーンを入れる。
今回使ったソフトはBlender(2.66)。
ボーンの入れ方は、このpdfの37-51ページを参考にした。
こんな感じでボーンを入れた。
階層はこんな感じ。
ボーンがしっかり入って、ボーンの動きにモデルが追随していることを確認して、fbx形式でエクスポート。
3. Unityへインポート / Mecanimを設定(10分):
2.で作ったfbxをUnityへインポートしてMecanimを設定する。
インポート / Mecanim設定作業はこちらを参考にした。
Blenderで入れたボーンが、Unityで正しく反映されている図。
設定はこんな感じ。
ちなみに、一発で上手くいかず、最初はこんな感じにモデルが複雑骨折した感じになってしまった。
どうやら、Hips -> Spine -> Chestというように、ボーンが親子関係にならないと正しく設定できないところがあるらしい。
2.の工程をやり直して、Mecanimに合うようボーンを入れなおしたところ、スムーズにMecanimが設定された。
ちなみに、Mappingの緑色の部分は設定が正しい状態で、赤色は何かエラーがでているところ。
手とつま先のグレーの部分は設定しなくてもOKという感じみたい。
4. アニメーションさせる(20分):
3.で作ったキャラクターを基に、アニメーションを付ける。
引き続き、こちらのリンクを参考に進めた。
AssetStoreからフリーのキットをダウンロードして使う。
キットからアニメーションを拝借する。
ちなみに、Previewの再生ボタンを押すと、アニメーションが再生されるので確認が楽。
Project > Create > AnimationControllerでAnimationControllerを作成。
Kitのアニメーションを配置する。
AnimationControllerをシーン上に配置した3DモデルのAnimator > Controllerにアタッチ。
再生ボタンを押したら、見事に動き出した(゚∀゚)
5.まとめなど:
- Macanimで動かすことを前提とするなら、ボーンを入れるときの構造と名前をUnityのMecanimと合わせておいた方が良い。
- アニメーションを作るのが得意ではない自分にとって、Mecanimは相性が良さそう。
AssetStoreでアニメーションを探して使うのが良いかも。 - Mecanimのアニメーションと物理エンジンと、スクリプト制御の掛け合わせってどうやるんだろ。
- Mecanimのアニメーションってどうやって作るんだろ。
今回制作したUnityプロジェクトはこちらです。(Asset Storeのファイルは抜いてます)