第二回目 Mecanimでアニメーション①
MecanimとはUnity 4で追加された新機能です。通常、ゲーム開発で3DCGアーティストが3Dキャラクタを作成した後に、プログラマーがアニメーションを実装する流れでしたが、Mecanimを使うことで3DCGアーティストだけでアニメーションを完結することができる画期的な機能です。
今回は、そのMecanimを使って簡単にゲームアニメーションに挑戦してみましょう。実際に、ゲームにしたり、インタラクティブに反応させたりするには、さらに高度な機能の習得が必要なのですが、ここでは、Shade 3Dユーザが簡単に始められる部分のみに絞って説明します。Mecanimでキャラクタを動かすだけでも、とても感動的デスヨ!
バックナンバー
Shade 3D for Unity : 第一回目 ゲーム作成
Shade 3D for Unity : 第三回目 Mecanimでアニメーション②
Shade 3D for Unity : 第四回目 mixamoを使ってボーン設定
インポートから設定
1.無料Shade 3Dデータ「BONKO」に収録しているBONKO_Unity.fbx をAssetsにドラッグ&ドロップしてインポートします。
2.Assetsに追加できたBONKOをSceneウインドウにドラッグ&ドロップしてシーンに追加します。
2.インポートされたBONKO_Unity.fbx を選択すると、Inspectorウインドウに、インポート設定が表示されますので、「Rig」の「Animation Type」を「Humanoid」にして「Configure」ボタンを押します。
3.Mecanimの設定画面が表示されるので、ボーンが上手く対応しているかどうか確認します。「Body」「Head」「Left Hand」「Right Hand」それぞれで、きちんと対応がとれているかどうか確認します。Inspectorウインドウに緑色で表示されている人体が、うまくリンクされていない場合、表示が赤で表示されます。BONKOデータでは問題ないようですので、「Done」ボタンで設定を終了します。
Mecanimの設定
1.ProjectウインドウのCreate > Animator Controller から、Animator Controllerを作成し、名前を、「BONKO_Controller」などにします。
2.Hierarchyウインドウ から、BONKOを選択し、InspectorウインドウのControllerの部分に、先ほど作成した、「BONKO_Controller」をドラッグ&ドロップして登録します。
3.このBONKO_Controller をダブルクリックすると、Animatorの編集画面が表示されます。この画面を使ってキャラクタを動かすアニメーションの設定を行っていきます。
アニメーション
これで基本設定は終わりです。あとは、これに、いろいろなアニメーションをつけていくのですが、UnityからAsset Storeで素晴らしいスターターパックが提供されているので、それらを利用していきます。
1.Asset Storeから、Unityが提供している、Mecanim Animation Starter Pack をインポートします。Unityのメニューからwindow>Asset Storeへアクセスします。ウインドウが表示されたら、右上にあります検索スペースから「Mecanim」と検索します。するとMecanim Animation Starter Packというコンテンツが表示されますのでインポートします。
2.インポートが完了するとProjectのAssetsの中にコンテンツが追加されます。適当にコンテンツを選択してアニメーションを適用したいと思います。Assets>Animations>Idle>Idle_IdleToIdlesRのアニメーションクリップをanimatorウインドウの中にドラッグ&ドロップします。
ちなみにアニメーションクリップを選択すると画面右下にPreviewウインドウが表示されますので、再生してどんな動きか確認することができます。もしくは、適用してから画面上にある再生ボタンを押して確認します。
3.その他にも、Assetsの中にアニメーションがたくさん入っているので、適当に違うアニメーションクリップを追加してみます。そして、アニメーションクリップの上で右クリックしてMake Transitionを選択してアニメーションの流れを作ります。下の画像のようにループ状にすると、三つの動きを繰り返し行うことができます。
オリジナルキャラクタを作成した時の注意点
- ボーン構造が正しければ、Shade 3Dから書き出して、UnityでMecanimに対応させることが出来ます。
こちらのページにも注意点があります。
中でも面倒なのが、今まで日本語で形状の名称を付けていた場合です。
- ブラウザで、ルートパートを選択します
- ブラウザの検索ボタンを押します
- 検索ウインドウが表示されますので、「対象」を「ジョイント」に、その隣が「すべて」となっていることを確認します。
- 「検索」ボタンを押すと、全てのジョイントが選択されます
- 「全て選択」ボタンを押し、「連番:追加」ボタンを押します
これで、全てのジョイントに連番が追加されました。Unityでは、日本語が上手く読み込めませんが、連番をつけ重複名を解消することで、ひとまず正常にアニメーションが渡せるようになります。
Shade 3Dの体験版をご使用になりたい方はこちらからShade 3D体験版をダウンロードお願いいたします。
バックナンバー
Shade 3D for Unity : 第一回目 ゲーム作成
Shade 3D for Unity : 第三回目 Mecanimでアニメーション②