Unity4からMecanimなるアニメーション技術が使えるようになった事を知りました。今回はそのMecanimを初心者でも簡単に扱えるというアセットを使用してみましたのでご覧ください。
photo by Logan Ingalls
「Mecanim」とは
Mecanim (メカニム) とはUnity4から搭載された機能で、3Dアニメーションを行うためのものです。3Dのモデルさえあればプレイヤーにリアルな動作をさせる事が可能になります。
Mecanimを扱うには「AnimatorController」・「AnimationClip」・「Animator」などが必要になりますが、今回はアニメーションを知るための動作テストの段階です。初心者がお手軽にMecanimの技術を使うためのアセットがありますので早速使ってみましょう。
「Mecanim Locomotion Starter Kit」
UnityのアセットストアからMecanim Locomotion Starter Kitを「ダウンロード」します。このアセットはMecanimを扱うための初心者向けキットです。
今回もUnityちゃんに登場してもらいます。地面にPlaneを使いUnityちゃんを配置。「UnityChan/Models/unitychan」です。
「UnityChan/Prefabs/unitychan」にもUnityちゃんがいますがこっちはスクリプトとかControllerとか色々機能が付いている?! Unityちゃんです。こっちはまだよくわからないのでそのうちいじります。
配置したUnityちゃんのInspector、Modelから「Select」→「Rig」と選択。Animation Typeを「Humanoid」になっているのを確認します。これは人間型のアバターをアニメーションするという設定で、Unityちゃんの場合はデフォルトで設定されています。
次にProjectのAssetsから先ほどダウンロードしたMecanim Locomotion Starter Kitを「Locomotion Setup/Locomotion/Locomotion」をコンポーネントのAnimator、Controllerにドラッグ&ドロップします。
これだけで完了です!簡単でしょ。
あとは再生モードにするとパソコンの「←,→,↑,↓」キーまたは「A,D,W,S」で画面の中を自由自在に動き回ります。

プレイヤーをカメラが追従する
これは一番簡単な方法がHierarchyでUnityちゃんの階層下にカメラを入れ子にする方法です。
これだけでほら。アセットを配置すると少しだけ3Dゲームの一場面っぽく見えます。
GIFアニメだけではわからないですが、自分自身ゲームイメージとして確認をしてみたかったので無駄にBGMも入れています。こういったものから今回の例でいうとタンスを調べるイベント (動作) やロボットに会話するイベント (セリフの吹き出し) を付け加えるといったイメージでしょうか。また、この画面が一つの村だとして外のフィールドに出るといった事をしたい場合はもう一つシーンを用意します。
スクリプトなしのGUI・アセットだけの組み立てでここまでは出来ました。Unityはスクリプトの知識が必須かもしれませんがGUIの操作も基礎という面で大事な要素です。ロボットは無料アセットのSpace Robot Kyleを使用しました。
「番外」 スクリプトでジャンプ動作を追加
スクリプトによるジャンプ動作を追加してみました。KeyCode.Spaceでスペースキーの入力を受け付ける処理です。Yに値を与えてスペースキーによりそれを処理しています。
if (Input.GetKey(KeyCode.Space)) {
transform.position += new Vector3(0.0f, 8.0f, 0.0f) * Time.deltaTime;
}
}
▼「スペース」キーでジャンプ動作
▼ちょっとアレンジ
一応ジャンプはできるようになりましたが、やはりアニメーションにしないと自然な動きにはならないかもしれません。
まとめ
Unity初心者の方はアニメーション動作を確認するために是非このMecanim Locomotion Starter Kitを使ってみて下さい。確認してはないですが、Locomotionの中には他にも色々なアセットが用意されていたのでもっと複雑な動きが出来るかもしれません。
この作品はユニティちゃんライセンス条項の元に提供されています