アクションモーションをアニメーションブループリントで制御する

例えばこのようなステートマシンで抜刀モーションを制御したいとする。

アニメーションブループリントを編集

ステートの遷移を制御するためのフラグ変数を定義する。

Unsheatheステートへの遷移条件を定義する。

UnsheatheからIdleへの遷移は、抜刀モーション終了時に遷移させたいので遷移を選択した状態で「Automatic Rule Based on Sequence Player in State」にチェックを入れる。

また、抜刀モーション終了時にフラグ変数をFalseに設定するため、その遷移の通知イベントを作成する。
※「End Transition Event」だと意図通りに動作しないので「Start Transition Event」の方に定義する。

EventGraphでフラグをFalseにする処理を書く。


キャラクターブループリントを編集

EventBeginPlayなどにアニメーションブループリントの参照を取得し保存する処理を書く。

そしてアニメーションを実行したいタイミングでアニメーションブループリントに定義したフラグをTrueにする。


ルートモーションを使用する

アニメーションブループリントでルートモーションを使用する場合、「ClassDefaults > Details > RootMotion」を「Root Motion from Everything」に設定する。