大家好,

我正在开发一个简单的敌人AI,使用行为树遇到一个问题不知道该怎么办。

行为树的预期行为如下:

  • 敌人巡逻为默认行为
  • 当敌人看到目标时,停止巡逻开始追逐
  • 如果目标不再可见,敌人应该停止追逐并返回巡逻

然而实际运作发生了:

  • 敌人从巡逻开始(正常工作)
  • 当它检测到目标时,失效标签触发,它开始追逐(也正常工作)
  • 但当目标离开视野时,敌人继续无限追逐,并且从没有返回巡逻

因此我的问题是:

  • 这是这种行为树配置下的预期行为吗?
  • 如果是,那么正确的方式是如何处理目标离开视野,以便AI从巡逻状态切换回来?

为了给您更多背景,我当前使用:

  • 一个状态条件(目标可见)
  • 一个巡逻动作
  • 通过“剖”触发的追逐/移动到目标动作

我怀疑自己可能在理解条件或“剖”的结构或者是缺少一个修饰符/服务来更新状态。

任何指导或最佳实践都将非常有用。感谢您的帮助!