Unity公式のStarterAssetsThirdPerson(3D無料アセット)。シンプルで本当に使いやすいです!

今回はStarterAssetsThirdPersonのアニメーション設定を参考に、実際にアニメーションを作成していきたいと思います。

まだStarterAssetsThirdPersonを使用した事が無い!という方でも、今回はアニメーターコントローラーの設定の基本から実践していきますので、参考にしていただけると思います。

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

  • Unity公式のStarterAssetsThirdPersonのアニメーション設定について知りたい
  • Unityで三人称視点のアニメーション設定をして実行

アニメーターコントローラーの操作方法&設定

まずはアニメーターコントローラーの基本的な操作方法について紹介します。

以下の手順でアニメーターコントローラー(Animator Controller)を作成します。

Projectウィンドウ > Create > Animator Controller

■Animator Controller

Projectウィンドウにアニメーターコントローラーのファイルが作成します。

■アニメーターコントローラーのファイル

作成したアニメーターコントローラーをクリックすると以下の様にステートマシン(状態遷移図)が表示されます。

■アニメーターコントローラー(初期画面)

ステートマシン上に配置されたアニメーションクリップはノードと言われます。

初期設定のノード

  • Entry:ステートマシン開始時のノード
  • Exit:ステートマシン終了時のノード
  • Any State:全ての状態を表すノード

ステートマシンのリファレンス:https://docs.unity3d.com/ja/2020.3/Manual/StateMachineTransitions.html
(2020.3verの場合)

アニメーションクリップ(ノード)の追加

ステートマシンはいくつかのノード(主にアニメーションクリップが元ファイルになる)と遷移条件によって構成されています。

ノードとして使用したいアニメーションクリップがある場合は、ProjectウィンドウのアニメーションクリップをアニメーターコントローラーにドラッグすればOKです。
※最初に配置したアニメーションクリップに対して自動的にEntryノードからTransition(矢印)が作成されます。

■アニメーションクリップをアニメーターコントローラーにドラッグ

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

とりあえず、以下の通りステートマシンにノードを配置しました。

■アニメーションクリップを配置

ステートの作成

ステート(Transition)は以下の手順で作成ができます。

  1. 遷移元のノードを選択して右クリックする
  2. 「Make Transition」をクリックする
  3. 遷移先のノードを選択する

■Transitionを作成

Transitionの作成を繰り返して、以下の様なステートを作成しました。
※StarterAssetsThirdPersonの場合はIdleの部分がブレンドツリーとなります。

■ステートを作成

ステート・ノードの削除

ノードとステートの削除についても知ってきましょう。

ステート(Transition)削除

ステートを削除する場合は、Transitionを選択してDELETEで削除するだけです。

■Transitionを選択してDELETE

以下の様に削除されます。

■削除される

ノード削除

ノードは以下の手順で削除できます。

  1. ノードを選択して右クリックする
  2. 「Delete」を選択する

■ノード削除

このまま一度実行をしてみたい所ですが、まずはブレンドツリーでキャラクターの移動アニメーションを作成しましょう!

ブレンドツリー(Blend Tree)の作成・設定

もう少し踏み込んでブレンドツリーの作成・設定方法についても確認します。

ブレンドツリーはキャラクターの移動設定などでよく使用されます。スムーズにアニメーションために必要な機能になります。

まずは見本としてStarterAssetsThirdPersonのブレンドツリーのアニメーション設定を確認しましょう。

見本(StarterAssetsThirdPersonのブレンドツリー)

※ブレンドツリーのリファレンスhttps://docs.unity3d.com/ja/2020.3/Manual/class-BlendTree.html
(2020.3verの場合):

実際にブレンドツリーを作成・設定していきましょう。

以下の操作で空っぽのブレンドツリーを作成できます。

  1. ステートマシン上で右クリック
  2. Create Stateを選択
  3. From New Blend Treeを選択

■ブレンドツリー作成手順

アニメーターコントローラーのステートマシン上にブレンドツリーが作成されます。

■ブレンドツリーが作成される

さらに、ブレンドツリーをダブルクリックすると、ブレンドツリーの詳細設定が可能なレイヤー(Blend Treeレイヤー)に遷移します。

■ブレンドツリーの詳細設定が可能なウィンドウに遷移

ここからさらにモーションを追加してみます。

モーションの追加・設定

以下の手順で実際にモーションを追加します。

  1. Blend Treeを右クリック
  2. Add Motionを選択

■モーションを追加

StarterAssetsThirdPersonのブレンドツリーを参考に、モーションを4つ追加しました。

■モーションを4つ追加

モーションとしてアニメーションクリップを選択しましょう。

Motionには現在何も設定されていません。「None(Motion)」と書かれた部分の右の丸いボタンをクリックします。

■ボタンをクリック

Select Motionウィンドウが開きます。

この中から対象のアニメーションクリップを選択しましょう。
※名前が似ていると間違えやすいので要注意

■Select Motionウィンドウ

パラメータの設定

ブレンドツリーで使用するパラメータの設定もしていきましょう。

以下の手順で、新しいパラメータ「Speed」を追加します。Speedに応じて各モーションがブレンドされる様になります。

  1. アニメーターコントローラーの「Parameters」タブを選択
  2. 以下の「+」ボタンを押す
  3. Floatを選択

■「+」ボタンを押してFloatを選択

パラメータにSpeedが追加されます。

■Speedが追加される

StarterAssetsThirdPerson(見本)のブレンドツリーを参考に、以下の通りブレンドツリーのコンポーネントを設定しましょう。

  • Parameter:Speedを選択
  • Threshold:Idle⇒0、Walk_N⇒2、Run_N⇒6、None(Motion)⇒10に設定
  • Automate Threshold:チェックを外す

■ブレンドツリーのコンポーネントを設定

これでブレンドツリーの設定が完了しました。

■ブレンドツリーの設定

最終調整&実行

さて、これまでアニメーターコントローラーとブレンドツリーの設定を行いました。

さらに、StarterAssetsThirdPerson(見本)のステートマシンを参考にジャンプ時のノード&ステート&パラメータも設定しました。ステートマシンの見た目は見本と全く同じです。

■ステートマシン

この状況で実行しながら、残りの調整をしていきましょう。

ブレンドツリー設定後の実行結果

現在、StarterAssetsThirdPerson(見本)のブレンドツリーを参考に、ブレンドツリー設定は完了しています。

さっそく実行してみると、待機モーション⇒歩くモーション⇒走るモーションがスムーズに遷移できている事が分かります。

■実行結果(移動)

ジャンプをしてみると・・・

ただ、ジャンプをしてみると、非常に動きがぎこちないです。。。この点を修正しましょう。

■実行結果(ジャンプ)

ジャンプ時のアニメーション調整

ジャンプ時のアニメーション設定がおかしかったので、その点を修正しましょう。
※ジャンプ自体はできていますが、ステートマシンの細かい調整ができていません。

StarterAssetsThirdPerson(見本)の設定を確認

StarterAssetsThirdPerson(見本)の各ステートの設定(コンポーネント)を確認してみましょう。

■各ステートの設定を確認

上記で赤枠で囲っている箇所(以下)は、各ステート毎に設定が必要な内容になります。
※簡単な説明を付け加えます。詳細はリファレンスを参考にして下さい。

  • Has Exit Time:アニメーション切替のタイミング
  • Setting:遷移の詳細設定
  • Conditions:アニメーション遷移の条件

※ブレンドツリーのリファレンスhttps://docs.unity3d.com/ja/2020.3/Manual/class-Transition.html
(2020.3verの場合):

実行結果(Setting以外を設定済み)

上記のSettingの部分以外を設定済みの状態で、一旦実行してみましょう。

ちゃんとジャンプしている様に見えますが、まだ動きがぎこちない部分があったり、着地でも移動してしまっています。

■実行結果

Settingの操作と設定

残りのSettingの部分もStarterAssetsThirdPerson(見本)を参考に設定してみましょう。

Setting部分はブレンドツリーと似ていて、アニメーションの遷移状況をミリ秒単位で細かく設定できます。

以下の様な操作で設定が可能です。

  • マウスホイールで拡大縮小
  • クリックしてドラッグ(右左で移動)
  • ブレンド開始位置・終了位置の操作

■Settingの部分も設定

実行結果(Settingも設定済み)

Setting設定完了しました。正しく設定するのは、結構大変で難しいです。。

ただ、StarterAssetsThirdPerson(見本)のアニメーターコントローラーと全く同じ設定にできれば同じ様に動きます!

それにしても本当に大変な作業でした。アニメーション専門のクリエイターの方がいる理由がよく分かりました。。。

■実行結果

まとめ

今回はStarterAssetsThirdPersonのアニメーション設定を参考に、実際にアニメーションを作成しました。

今回のまとめ

  • アニメーターコントローラーの操作方法&設定
    ⇒操作方法を確認して実際に設定を行った
  • ブレンドツリー(Blend Tree)の作成・設定
    ⇒ブレンドツリーのモーション作成と設定を行った
  • 最終調整&実行
    ⇒ジャンプ時のアニメーションが変だったので修正して実行

見本となっているアセットも良質なものなので、同じ様な設定を自分でやってみる事で本当に勉強になると思います。

今回紹介した内容を参考にして、ぜひ色んなアニメーションを作成してみて下さい!