【Unity】Humanoidモデルの設定とアニメーションテスト

 

この記事のUnityのバージョンは2017.4.2f2 です。

 

 

はじめに

 

今回の記事では、【Blender】UnityのHumanoidに対応したアーマチュアを作る(モデル作成&エクスポート編)で作成したモデルをUnityにインポートしてアニメーションさせてみます。

 

まだ自分自身がUnity初心者ということもあり、画面の説明からいきたいところですが似たようなサイトは沢山あるので省略。

 

アニメーションさせるまでのざっくりとした手順をまとめると、

 

  1. FBXモデルのインポートとHumanoidアバターの設定
  2. 流用するアニメーションの準備(アセットストアからインポート)
  3. Animatorコントローラーの作成と設定
  4. モデルとAnimatorコントローラーの紐付け

 

です。

 

FBXモデルのインポートとHumanoidアバターの設定

 

インポートといっても、FBXモデルをシーン内のフォルダにドラッグ&ドロップするだけです。

 

[ Assets ]フォルダ直下に[ Models ]フォルダでも作って、作成したFBXモデルをドラッグ&ドロップ。

 

読み込まれたモデルを選択すると、[ Inspector ]ウィンドウにモデルのインポートセッティングが表示されます。

 

[ Rig ]タブの[ Animation Type ]を[ Generic ]から[ Humanoid ]に変更して[ Apply ]。

 

名前付けとボーン構造が問題なければこれだけで大丈夫なハズですが、

これでうまくいっているかどうかは[ Configure… ]で確認します。

[ Configure… ] -> [ Configure Avatar ]

 人型の図が緑色で表示されていればOK。

 もし赤色で表示されていたら、その箇所のボーンの紐付けが失敗してるので適切なボーンに設定し直す。

 

[ Head ]や[ Hand ]も確認して、ボーンが適切に紐づいているかチェック。

 

これでHumanoidアバターの設定完了です。

 

 

流用するアニメーションの準備

 

次に、アセットストアを利用してアニメーションデータをインポートします。

 

今回利用するアニメーションは「Mecanim Locomotion Starter Kit」です。

 

アセットストアから検索してダウンロード&インポート。

今回はこのアセットの[ Animations ]フォルダにある「Run」のモーションを使います。

 

 

Animatorコントローラーの作成と設定

 

[ Models ]フォルダ上で右クリック -> [ Create ] -> [ Animator Controller ]

 

[ Animator ]ウィンドウ上で右クリック -> [ Create State ] -> [ Empty ]

 

作成された[ New State ]をクリック。

[ Inspector ]ウィンドウの[ Motion ]に[ Run ]を選択、ついでにステートの名前も変えておく。

 

 

モデルとAnimatorコントローラーの紐付け

 

[ Models ]フォルダに入れてあるモデルをシーン上にドラッグ&ドロップ。

 

[ Inspector ]ウィンドウの[ Position ]を全て0にしてモデルを中心に移動し、カメラもいい感じに動かす。

 

[ Animator ]コンポーネントの[ Controller ]に先ほど作成したAnimatorコントローラーを設定。

[ Apply Root Motion ]のチェックを外す。

 

[ Apply Root Motion ]はアニメーションで動いたモデル位置をそのまま反映させる設定…かな?

これにチェック入ったまま先ほどのアニメーションを動かすと再生と同時に走り去りますw

 

アニメーションで動きを制御できるので、例えばローリングやジャンプの挙動が簡単かつリアルに表現できますね。

欠点は、移動量をスクリプトで直接制御できないことでしょうか。(一時的にApplyRootMotionを切ってスクリプト制御に切り替えるとかはできそう。)

再生速度は変えられるので、鈍足状態になったらアニメーションそのものを遅くする=移動速度も遅くなるとかは可能。

 

再生すると…。

 

はい、完成です。

 

 

最後に

 

これでようやく、Blenderでモデルを作成してからUnityで動かすまでの記事が書けました。

最後まで見てくれた方、本当にありがとうございます。

 

正直、初心者向けにしてはざっくりしすぎだし、経験者からすると大した内容じゃないし、

役に立つ人いるのかなと思ったりしますが、ま、自分のメモ用ってことで…。

 

これからも勉強した内容はちょくちょくまとめていきたいと思ってますのでよろしくお願いします。

 

 

おまけ

 

Unity公式キャラ、ユニティちゃんも同じように走らせてみました。

 

ユニティちゃんの身長は大体150cmとのことなので、サイズ感もバッチリですね。

 

こんな感じで、Humanoidならどのモデルでもアニメーションを流用できるのでとても便利。

ゲーム開発も頑張りたいですな。

 

Leave a Reply