【UE5】ステート間の遷移処理を制御する

前回、ステート間の遷移条件の一例としてアニメーションの経過時間で遷移させる方法を紹介しました。

shuntaendo.hatenablog.com


今回は各遷移ノードの詳細パネルから設定することで遷移の遷移時間を調整したり、ブレンド処理を制御する方法を紹介していきます。





遷移ノードの優先度

1つのステートから複数の遷移先がある場合、遷移ノードに優先度を付けられます。


遷移ノードの詳細パネルから Priority Order を設定します。
値が小さい方が優先されて先に条件判定されます。



遷移条件の共有

遷移ノードの詳細パネルから Promote To Shared ボタンで遷移条件を他の遷移ノードと共有することができます。
ボタンを押すとウィンドウが表示されるので名前を付けます。


他の遷移ノードでも同じ名前の遷移条件を選ぶだけで共有できます。
同じ遷移条件は自動で同じ色が付けられます。

※ 同じステートマシンの中でのみ共有可能です。

 


ブレンド処理の制御

Blend Logic を変更することで、ブレンド処理を制御することができます。


・Standard Blend

一番簡易的で手軽なブレンド制御タイプです。
Blend Settings から遷移時間や補間方法を設定できます。

また、こちらも Transition Crossfade Sharing から設定値を共有できます。




・Inertialization

慣性を使ったブレンド制御タイプです。
使うには Inertialization ノードを挟む必要があります。

詳しい補間アルゴリズムGDC 2018 の Gears of War の講演で解説されています。(詳しくは分かっていないので丸投げ)

www.gdcvault.com


・Custom

ブレンド時の補間処理を作ることができます。
Blend Logic を Custom に変更すると Edit Blend Graph ボタンが表示されます。


ボタンを押すとブレンド処理を作れるグラフエディターの画面に移り、遷移元 / 先のノードが配置されているので自由に処理を作ることができます。



以上です。何か参考になれば幸いです。





UE Version : 5.0.1-19764885