私がビヘイビアツリーで理解していることから、各ビヘイビアは、数回の反復で実行できる短い目標指向のアクションである必要があります。
したがって、たとえば、以下はビヘイビアツリーの画像です。
ここで、Drive To Enemyの動作には、ツリー内で数回以上の反復が必要であると想定しましょう。そのため、各パスでDrive To Enemyが呼び出されるのは、現在実行状態になっているためです。
問題は、敵が近くにいる場合、Evade Enemyに電話したいことです。Drive To Enemyが常に呼び出されることを考慮すると、Evade Enemyを呼び出す機会はありません(おそらく、Enemyを避ける必要があります)。
- 万一私はツリーを横断し、各アクションが現在実行されているものに関係なく渡しますか?
- 私はこれについて正しい方法で行っていますか?
- そのような動作を処理する適切な方法は何ですか?
もともとStackoverflowで尋ねられました。ここで考えたほうが、この質問をするのに適した場所です。