こんにちは、AM0500です。
今回は、キャラクターの動き(歩く・攻撃する・待機するなど)を制御するノードが AnimationPlayer について完結に説明しています。
AnimationPlayer では、 “アニメーション(複数の動き)” を登録し、どのタイミングでどのアニメを再生するか、速度や自動切り替えなどを設定できます。
AnimationPlayer は、AnimationMixer や AnimationLibrary と連携してアニメーションのブレンド(つなぎ目を滑らかにする)や根運動(root motion)などを使うことも可能です。
AnimationPlayer のプロパティ解説
Current Animation(現在のアニメーション)
現在再生中のアニメーションを指定します。ここに名前を入力すると、シーンを再生したときにそのアニメーションから開始されます。例えば「Idle」や「Walk」など、デフォルトで流したい動きを設定するのに便利です。
スピードスケール
アニメーション再生速度を倍率で設定します。1 が通常速度、2 なら2倍速、0.5なら半分の速度になります。
キャラクターが「スロー状態」や「加速状態」になるようなスキル演出で、動き全体を調整する際に役立ちます。
Movie Quit on Finish(終了時に動画を停止)
アニメーションが終了したときに、自動で停止処理を行うかを決めます。カットシーンや演出用ムービー風のアニメーションで、ループさせずに一度だけ再生して止めたい場合に利用します。
Playback Options(再生オプション)
・Auto Capture(自動キャプチャ)
アニメーション再生前のプロパティ値を自動でキャプチャし、再生開始時にスムーズにつなげます。
例えばキャラの「腕が途中まで上がっている状態」から攻撃モーションに入るときに、急な切り替えを避けられます。
・Auto Capture Duration(キャプチャ持続時間)
キャプチャした状態からアニメーションに移行するまでの時間を設定します。短いと即座に切り替わり、長くするとゆるやかに遷移します。戦闘シーンで自然なモーション切り替えをしたいときに使えます。
・Auto Capture Transition Type(キャプチャ遷移タイプ)
キャプチャからの遷移方法を選びます。Linear(直線的)やEase(加速/減速あり)などがあり、自然さを演出できます。
・Auto Capture Ease Type(キャプチャ イーズタイプ)
Ease の動作を細かく指定します。「In」ならゆっくり始まる、「Out」ならゆっくり終わる動きになります。キャラクターが構えに入るときや武器を振り下ろすときに自然さを出すのに効果的です。
・Default Blend Time(デフォルトブレンド時間)
アニメーション間を切り替えるときに自動で使うブレンド時間です。0秒なら即切り替え、0.2~0.5秒程度なら自然にフェードできます。Idle → Walk → Run の切り替えなどで役立ちます。
AnimationMixer(アニメーションミキサー)
Active(有効)
ミキサー機能を有効にします。複数のアニメーションを同時に扱いたい場合に必要です。たとえば「走りながら剣を振る」などの複合モーションを作るときに活躍します。
Deterministic(決定性あり)
混合アニメーションの結果を常に同じにする設定です。複数のアニメを組み合わせてもブレが出ないので、格闘ゲームや精密なアクションで再現性を重視する場合に使えます。
Reset on Save(保存時リセット)
シーンを保存するときにアニメーションの状態を初期化します。デバッグ時やテスト中に思わぬ状態を残したくないときに便利です。
ルートノード
この AnimationPlayer が操作対象とするキャラクターのルートノードを指定します。キャラの親ノードをきちんと設定しないとアニメーションが正しく再生されないので注意が必要です。
Libraries(ライブラリ)
外部アニメーションをまとめたライブラリを指定できます。複数キャラで共通の「走り」「ジャンプ」アニメを使いまわすときに便利です。
Root Motion(ルートモーション)
アニメーションに含まれる位置の移動情報を、キャラクターの実際の移動に反映させます。歩くモーションに「前進動作」が入っている場合、それをキャラクターの物理移動に適用できます。格闘ゲームやモンスターの突進攻撃など、アニメーション通りの動きをゲーム内で再現したいときに役立ちます。
オーディオ / Max Polyphony(最大重奏数)
アニメーション内で音を再生する場合、同時に鳴らせる数を指定します。攻撃アニメに複数の効果音を仕込む場合や、大人数キャラクターの同時再生で音が重なり合う場面で調整します。
Callback Mode(コールバックモード)
アニメーションのコールバック処理の方式を設定します。
-
インポートプロセス(Process Mode) … Idle(毎フレーム)、Physics(物理ステップごと)など、処理タイミングを制御します。
-
メソッド(Method Mode) … Deferred(遅延呼び出し)、Immediate(即時呼び出し)などを選択。イベント発火のタイミングを制御します。
-
離散(Recessive / Discrete) … 値を瞬時に切り替えるタイプのアニメ用。武器の当たり判定ON/OFFやフラグ管理で便利です。
正直なところ、AnimationPlayer のプロパティは数も多く、ぱっと見ただけでは何に使うのか分かりにくい部分が多いです。実際にこうして書きながら整理していても、「この設定がどう具体的に影響するのか」はまだ自分の中で十分に理解できていない項目もあります。
ただ、使っていく中で「ああ、こういう時に役立つんだな」と分かる場面がきっと出てくると思います。今後キャラクターを作成しながら気づいたことがあれば、この記事に追記していく予定です。この記事が同じように悩んでいる人の参考になれば嬉しいです。


0 件のコメント:
コメントを投稿