类似选择(Selector)节点,随机选择(SelectorStochastic)节点也是从子节点中选择执行一个,但不像选择节点每次都是按照排列的先后顺序选择,随机选择节点每次选择的时候随机的决定执行顺序,如下图所示:
例如,选择节点和随机选择节点都有A、B、C、D这四个子节点。对于选择节点,每次都是顺序的按A、B、C、D的顺序选择;而对于随机选择节点,有时按A、B、C、D的顺序选择,有时按B、A、D、C的顺序选择,又有时按A、C、D、B的顺序选择,等等。
随机选择节点有随机数生成器可以配置,该随机数生成器是一个返回值为0.0到1.0之间的float类型的函数,如下图所示:
该随机数生成器一般设为空即可,表示采用系统的缺省实现,也可以使用自己提供的函数。
具体的执行逻辑可以查看behaviortree/nodes/composites/selectorstochastic.cpp
One thought on “随机选择节点”