Unity公式のStarterAssetsThirdPersonは3Dゲームで活用できる高機能な無料アセットです。
※StandardAssetsのThirdPersonに代わりUnity2020辺りから本格導入する方が多いです。

今回は、そのStarterAssetsThirdPersonのアニメーション設定を分析&解説してみたいと思います!

Unityのアニメーション機能について理解を深め、自分でアニメーション設定する際の参考になると思います。

この記事は以下の方に参考にしていただけます

  • Unity公式のStarterAssetsThirdPersonについて知りたい
  • Unityのアニメーション設定について理解を深めたい

アニメーション設定

さっそくStarterAssetsのアニメーション設定を確認して、Unityのアニメーションについて理解を深めましょう!

以下が今回中心に確認するポイントです。

  • Animatorコンポーネント
  • アニメーターコントローラー
  • アニメーションクリップ
  • ブレンドツリー
  • パラメータ設定

Animatorコンポーネント

まず、HierarchyウィンドウでPlayerArmature(三人称視点のキャラクターオブジェクト)をクリックして、InspectorビューでAnimatorコンポーネントを確認しましょう。

PlayerArmatureのAnimatorコンポーネントで「Controller」の部分を確認してみて下さい。

Animatorコンポーネントの「Controller」を確認すると、StarterAssetsThirdPersonというアニメーターコントローラーが初期設定されています。

■アニメーターコントローラーの初期設定

Animatorコンポーネントのリファレンス:https://docs.unity3d.com/ja/2020.3/Manual/class-Animator.html
(2020.3verの場合)

このアニメーターコントローラー「StarterAssetsThirdPerson」をクリックして設定内容を確認してみましょう。
※実際のファイルは「Assets/StarterAssets/ThirdPersonController/Character/Animations/StarterAssetsThirdPerson.controller」となります。

アニメーターコントローラー

次に、StarterAssetsで使用されているアニメーターコントローラーの中身を確認します。

アニメーターコントローラー「StarterAssetsThirdPerson」は以下の様になります。

■StarterAssetsThirdPersonのアニメーターコントローラー

※アニメーターコントローラーのリファレンス:https://docs.unity3d.com/ja/2020.3/Manual/class-AnimatorController.html
(2020.3verの場合)

詳細は別途紹介しますが、「Entry」がアニメーションの開始で「Transition(矢印)」で遷移するアニメーション(アニメーションクリップ)を指定しています。

Transitionの方向に向かって、アニメーションが切り替わる事になります。

切り替わる際には条件があり、何かのボタンがクリックされたり、キャラクターのスピードが変わったりすると、Transition(矢印)の先のアニメーションに遷移します。

アニメーションクリップ

実際のアニメーション(キャラの動き)の情報はアニメーションクリップが持っています。

アニメーターコントローラーでアニメーションクリップを設定する場合は、ProjectウィンドウのAnimationsに含まれるアニメーションクリップをアニメーターコントローラー上にドラックして、遷移条件(Transition(矢印)で繋いだりする)を指定すればOKです。

■アニメーションクリップをドラッグ(StarterAssetsThirdPerson)の画面ではありません。

ここでは、アニメーションクリップの中の一つである「歩く」アニメーションクリップを確認してみます。

以下のアニメーションクリップをクリックしてみて下さい。

「Assets/StarterAssets/ThirdPersonController/Character/Animations/Locomotion–Walk_N.anim.fbx」

クリックするとコンポーネントに以下の様な詳細情報が表示されると思います。

■アニメーションクリップの詳細情報

コンポーネントでアニメーションの再生も可能です。

■アニメーションクリップのアニメーション再生

Blend Tree(ブレンドツリー)

次に、アニメーターコントローラーに含まれるアニメーションクリップの「Idle Walk Run Blend」をダブルクリックしてみましょう。

「Idle Walk Run Blend」はブレンドツリーと呼ばれるもので、複数のアニメーション情報をブレンドさせて滑らかに動く様にまとめた情報になります。
※ブレンドツリーの詳細は別途詳しく紹介します。

■「Idle Walk Run Blend」をダブルクリック

※アニメーションクリップのリファレンス:https://docs.unity3d.com/ja/2020.3/Manual/AnimationClips.html
(2020.3verの場合)

「Idle Walk Run Blend」をクリックするとブレンドツリーの情報が確認できます。ブレンドツリーにより、キャラクターの移動動作で以下の動きをスムーズに遷移する事になります。

  • Idle⇒待機アニメーション
  • Wald_N⇒歩くアニメーション
  • Run_N⇒走るアニメーション

ブレンドツリー「Blend Tree」にSpeedというパラメータがありますが、Speedが変わる事によりキャラクターのアニメーションもスムーズに遷移します。

■ブレンドツリーの情報

パラメータ設定

アニメーションコントローラーにはパラメータ(Parameters)も設定可能です。

プレイヤーの操作結果・ゲーム上の状態をパラメータとして受け取り、アニメーションコントローラーの遷移条件にする事が可能です。

■パラメータ設定

各パラメータ

  • Speed(Float): キャラクター移動速度 Speedに応じてアニメーション変化
  • Jump(Bool):ジャンプボタンを押した場合、True
  • Grounded(Bool):足が地面に着地している場合、True
  • FreeFall(Bool):空中にいる場合、True
  • MotionSpeed(Float):各モーションのスピード(固定)

この時点では、FloatとかBoolとか、Trueとか意味が良く分からないかもしれませんね。

パラメータについては別の記事で詳しく紹介します!

実行結果

せっかくなので、実際にアニメーションした時の実行結果を見てみたいですよね!

Syntyのキャラモデルに差し替えて実行してみます。キャラモデルの差し替えについては以下を参考にして下さい。
※スタンダードアセットを元にしたキャラモデルの差し替え方法ですが基本的に同じです。

キャラクターがジャンプしたり移動したりした時の動作が以下になります。

■キャラクターがジャンプしたり移動したりする

まとめ

Unity公式のStarterAssetsThirdPersonを確認して、アニメーション設定等を確認してみました。

今回確認した事

  • StarterAssetsThirdPersonのAnimatorコンポーネントを確認
  • アニメーターコントローラーを確認
  • アニメーションクリップを確認
  • ブレンドツリーを確認
  • アニメーターコントローラーのパラメータを確認

実際に公式で発表されている良質なアセットなので、アニメーションの設定内容は本当に参考になります。

このアセットは非常にシンプルで内容も分かりやすいので、アニメーションの勉強にもすごく良い素材になります!ぜひアニメーションを作る際に参考にしてみて下さい。