SubStateMachineの戻りのリンクを拡張したい
Posted: 2019/11/07 01:57
いつもお世話になっております。
現在SubStateMachineの戻りのリンクがSuccessとFailureしかないため、
TriggerTransitionを使ってみました。
TriggerTransitionを使用すればParentGraphで分岐できなくはないのですが、常駐ステートに同名のMessageを持つTriggerTransitionがあるとそちらが優先されてしまい、SubStateMachineを呼んでいるNodeにあるTriggerTransitionのTransition TimingをLate Update Overwriteにしないと
意図したとおりに動きませんでした。
※現実的には同名のMessage名を設定することはほぼないのですが、複数人で作っていると被ることはあり得るので…。
そこで、EndStateMachineのように専用のStateで、呼び出したNodeにしか届かないSendTriggerのような機能を標準で用意して頂けると助かります。
もしくは、SubStateMachineのリンクを拡張できてそれを子から疎結合的に呼び出せる(結局は名前文字列になるのでしょうが)ような仕組みであれば、よりスッキリすると思います。
ご検討のほど、よろしくお願いいたします。
添付ファイル
TriggerTest.jpg
・親FSMです。
SubStateノードのTriggerTransitionのTransition TimingをLate Update OverwriteにするとTest1に、 Late Update Dont OverwriteにするとTest2に遷移します。
SubTriggerTest.jpg
・子FSMです。
SendTriigerをSelfにしてもRootGraphにしても挙動が変わりませんでした。
現在SubStateMachineの戻りのリンクがSuccessとFailureしかないため、
TriggerTransitionを使ってみました。
TriggerTransitionを使用すればParentGraphで分岐できなくはないのですが、常駐ステートに同名のMessageを持つTriggerTransitionがあるとそちらが優先されてしまい、SubStateMachineを呼んでいるNodeにあるTriggerTransitionのTransition TimingをLate Update Overwriteにしないと
意図したとおりに動きませんでした。
※現実的には同名のMessage名を設定することはほぼないのですが、複数人で作っていると被ることはあり得るので…。
そこで、EndStateMachineのように専用のStateで、呼び出したNodeにしか届かないSendTriggerのような機能を標準で用意して頂けると助かります。
もしくは、SubStateMachineのリンクを拡張できてそれを子から疎結合的に呼び出せる(結局は名前文字列になるのでしょうが)ような仕組みであれば、よりスッキリすると思います。
ご検討のほど、よろしくお願いいたします。
添付ファイル
TriggerTest.jpg
・親FSMです。
SubStateノードのTriggerTransitionのTransition TimingをLate Update OverwriteにするとTest1に、 Late Update Dont OverwriteにするとTest2に遷移します。
SubTriggerTest.jpg
・子FSMです。
SendTriigerをSelfにしてもRootGraphにしても挙動が変わりませんでした。