Page 1 of 1

SubStateMachineのSuccessについて

Posted: 2023/11/29 05:55
by AGame
SubStateMachineのSuccessについて、ステートマシンの中でSubStateMachineを実行した場合はサブステートの結果を受け取って
親のステートマシンで処理分岐が可能になっているようです。
親がビヘイビアツリーの場合は直接Successを受け取ることはできないでしょうか?
一応、Parameterで親ビヘイビアツリーのパラメータを設定できそうですが、既存のアクションで受けれたらいいなと思っています。

もしなければ、カスタム演算ノード(もしくはアクション)を自作したいので既存の処理で
似たような処理をやっていれば参考にして作りたいと思いますのでアドバイスをいただけますでしょうか。

Re: SubStateMachineのSuccessについて

Posted: 2023/11/29 23:26
by caitsithware
BehaviourTree版のSubStateMachineなどのサブグラフが完了した時の成否についてですね。

サブグラフが完了した際の成否はそのままアクションノードの結果としてビヘイビアツリーの親ノードに結果が返される仕様となっています。
結果が返されるとコンポジットノードとのつなぎ方で以下のようにビヘイビアツリーの実行ノードが遷移します。

Sequencerの子でサブグラフを実行
  • 成功を返した場合、Sequencerの子の次のノードへ(最後のノードならSequencerの親に成功を返す)
  • 失敗を返した場合、Sequencerの親に失敗を返す
Selectorの子でサブグラフを実行
  • 成功を返した場合、Selectorの親に成功を返す
  • 失敗を返した場合、Selectorの子の次のノードへ(最後のノードならSelectorの親に失敗を返す)

Re: SubStateMachineのSuccessについて

Posted: 2023/11/30 14:37
by AGame
コンポジットの使い方についてあまり理解できていませんでした。

ご回答ありがとうございます。