等待信号(WaitforSignal)节点模拟了等待某个条件的“阻塞”过程。

等待信号节点返回Running,直到它上面附加的条件是true的时候:

  • 如果有子节点,则执行其子节点,并当子节点结束时,返回该子节点的返回值。
  • 如果没有子节点,则直接返回成功。

在图1中,该等待信号节点一直“阻塞”直到它上面附加的条件是true的时候才结束“阻塞”,从而继续序列节点中后面的节点:

waitforsignal

图1 不带子节点的等待信号节点

而在图2中,则是在该等待信号节点上附加的条件是true的时候,结束“阻塞”而执行其子节点。

waitforsignal

图2 带子节点的等待信号节点

具体的执行逻辑可以查看behaviortree/nodes/actions/waitforsignal.cpp

发表评论

电子邮件地址不会被公开。 必填项已用*标注