• BehaviorTree.CPP行为树BT的介绍(一)


    节点类型

    • ControlNode是可以具有1到N个子节点的节点。一旦接收到ticktick可以传播到一个或多个子节点。
    • DecoratorNodesControlNode相似,但只能有一个子节点。
    • ActionNode是叶子且没有子节点。用户应该实现自己的ActionNode来执行实际的任务。
    • ConditionNodeActionNode一样,但是总是atomic【原子】synchronous【同步】,即它们不得返回RUNNING。它们不应更改系统的状态。

    第一个ControlNode:Sequence[序列]

    最基本且最常用的ControlNode:SequenceNode

    ControlNode的子节点始终是有序的;执行顺序是从左到右。

    image

    简而言之:

    • 如果子节点返回SUCCESS,则tick下一个
    • 如果一个子节点返回FAILURE,则子节点不再去tick,并且该序列返回FAILURE
    • 如果所有子节点返回SUCCESS,则序列也返回SUCCESS

    Decorators[装饰器]

    根据DecoratorNode的类型可以取决该节点的目的:

    • 转换从子节点接收到的结果
    • 停止执行子节点
    • 根据Decorators的类型去重复的tick子节点

    第二个ControlNode:Fallback[后备]

    FallbackNodes (也称为“选择器Selectors”)是可以表达备用策略的节点,顾名思义,如果子节点返回FAILURE,下一步改怎么做。

    按照顺序tick子节点,并:

    • 如果子节点返回FAILURE,则tick下一个。
    • 如果子节点返回SUCCESS,则不再tick任何子节点并且Fallback返回SUCCESS
    • 如果所有子节点返回FAILURE,则Fallback也返回FAILURE

    原文

  • 相关阅读:
    002powershell使用常见问题
    028_如何外网下载大文件
    028MAC常用工具unlicense
    027_录屏倒计时弹窗实用小程序
    NIO相关基础篇
    写给刚上小学一年级的果果(家长寄语)
    [转]Mavlink协议
    [原][ARCGIS]使用ARCMAP分离导出单个矢量图形文件SHP
    [原][译]从osgEarth2升级到osgEarth3的变化
    [减肥]生酮减肥餐做法
  • 原文地址:https://www.cnblogs.com/hokori/p/14158177.html
Copyright © 2020-2023  润新知