【UE5】State Alias を使ったアニメーションステートの制御

Unreal Engine ではステートマシンを使うことでアニメーションを状態ごとに制御することができます。

docs.unrealengine.com


ステートマシンでは State ノード同士を繋げて各ノードの間に遷移条件を追加してアニメーションを制御しますが、UE5 からは加えてState Alias というノードが追加されました。
State Alias ノードは State ノードのようにアニメーションの実体(設定?)はなく、遷移に特化したノードです。

f:id:shuntaendo:20220417113741p:plain:w400


Third Person Template の ABP_Manny の実装を例に使い方を見てみます。

f:id:shuntaendo:20220417114556p:plain:w400


State Alias ノードは複数の State ノードに対して遷移条件を追加することができます。State Alias ノードを選択すると詳細から条件を追加する State を設定できます。
Global Alias を有効にすると全てのステートで判定されるようになります。

f:id:shuntaendo:20220417115933p:plain:w500


追加した State ノードではノードに繋がれている遷移条件に加えて、追加した State Alias ノードから繋がれている遷移条件も判定されます。
ABP_Manny の例だと、[Jump] ステート中は [Jump] から繋がれている遷移条件と [To Land] から繋がれている遷移条件が判定されます。

f:id:shuntaendo:20220417121033p:plain:w500


State ノードだけで同じように組む場合は下の画像のように同じ遷移条件をステートごとに作る必要があり、管理が複雑になりがちでしたが State Alias の登場によって改善されました。

f:id:shuntaendo:20220417122048p:plain:w400


まとめ

State Alias によってステートマシンが整理されることは間違いないのですが、直接的に繋がっていないので視認性が落ちる側面もあるかと思われます。
ただ、個人的には視認性はあまり気にならないのと、保守コストが下がるメリットもあるかと思うので積極的に使っていきたいです。





UE Version : 5.0.0-19505902