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の有料3Dアセットを使用して3Dのキャラクターを動かしてみます。マップもアセットに含まれるものを使用します。 Unityのアセットストアでは、クオリティの高いアセットを購入する事ができ、実際に様々なゲーム …
キャラクターがジャンプしたり移動したりした時の動作が以下になります。
まとめ
Unity公式のStarterAssetsThirdPersonを確認して、アニメーション設定等を確認してみました。
- StarterAssetsThirdPersonのAnimatorコンポーネントを確認
- アニメーターコントローラーを確認
- アニメーションクリップを確認
- ブレンドツリーを確認
- アニメーターコントローラーのパラメータを確認
実際に公式で発表されている良質なアセットなので、アニメーションの設定内容は本当に参考になります。
このアセットは非常にシンプルで内容も分かりやすいので、アニメーションの勉強にもすごく良い素材になります!ぜひアニメーションを作る際に参考にしてみて下さい。