おもちゃラボ

Unityで遊びを作ってます

【Unity】ユニティちゃんをMecanimで歩かせる方法

ユニティちゃんをAsset Storeからダウンロードしてきたけれども、動かすのがむずかしい、locomotionはなんか複雑だし・・・という方は多いと思います。
locomotionは一通りの動きが揃っていて便利なのですが、簡単なアニメーションの実験をしたい場合は逆に不便だったりします。

この記事ではMecanimを使って簡単にユニティちゃんを歩かせる方法を紹介します。

f:id:nn_hokuson:20170315191111j:plain

ユニティちゃんのAnimation Controllerを作る

まずはAsset Storeでユニティちゃんをダウンロードしましょう。ダウンロード先は下記のURLになります。

f:id:nn_hokuson:20170315192332j:plain
https://www.assetstore.unity3d.com/jp/#!/content/18705

続いて、Assets/UnityChan/Modelsの中に入っているunitychanオブジェクトをシーンビューにドラッグ&ドロップして配置してください。

f:id:nn_hokuson:20170315191111j:plain

このユニティちゃんをMecanimで動かすために、ユニティちゃんにAnimatior Controllerをアタッチします。
プロジェクトビューで右クリックし、「unitychan」という名前のAnimator Controllerを作成して(名前は任意です)、ユニティちゃんのインスペクタに設定してください。

f:id:nn_hokuson:20170315193556j:plain:w500

これでユニティちゃんがuniychan Animator Controllerに従って動くようになります。
このAnimator Controllerの中身をMechanimで設定していきます。

ユニティちゃんが歩くようにMechanimを設定する

先ほど作成したunitychan Animator ControllerをダブルクリックしてMechanimの画面を開いてください。

アニメータービューで右クリックし、「Create State」→「Empty」を選択します。

f:id:nn_hokuson:20170315191151g:plain

インスペクタで、作成したステートの名前を「Walk」に変更し、Motionの欄は「WALK00_F」を選択してください。

f:id:nn_hokuson:20170315191402p:plain:w400

これにより、WalkステートではWALK00_Fのアニメーションが再生されるようになります。(FはたぶんForward・・・なはずです)

実行してユニティちゃんを歩かせる

これでMecanimの設定が完了したので、ゲームを実行してユニティちゃんを歩かせてみましょう。

f:id:nn_hokuson:20170315194506g:plain

歩くアニメーションが再生されましたね!
今はユニティちゃんの位置を移動するプログラムを書いていないので、ムーンウォーク状態ですが・・・

Nav Meshを使って歩かせる

とりあえずユニティちゃんを歩かせたいので、Nav Meshを使って手っ取り早く歩かせてみましょう。

Nav Meshは移動可能なゾーンとゴール地点を指定すれば、自動的に経路探索をしてオブジェクトを最短経路で動かすことができる仕組みです。

Nav Meshをの使い方はこちらの記事で紹介しています。合わせて参照してくださいね〜。

nn-hokuson.hatenablog.com


ここでは、フロアとキューブをstaticオブジェクトに指定して、NavMeshを作成しました。

f:id:nn_hokuson:20170315191827j:plain

ユニティちゃんを歩かせると、こんな感じになります。このようにMecanimとNav Meshを組み合わせれば、手っ取り早くユニティちゃんを歩かせることができます。
ユニティちゃんには歩くアニメーションだけではなく、走るアニメーションや、戦うアニメーションも用意されているので利用してみて下さい!

f:id:nn_hokuson:20170315194741g:plain