行为树,是一种特殊的流程控制(一种特殊的状态机)

根节点:Root

根节点,是行为树的起始点 根节点只能连接(3种基础节点中)的一个节点

基础节点(流程控制) Selector 选择节点(分支节点) Sequence 顺序执行节点(串行节点) Simple Parallel 同步执行节点(并行节点)

执行顺序 从上到下,从左到右(具体优先级以右上角序号为准) image.png

基础节点

Selector:(选择节点) 子节点返回(执行成功)时暂停执行 子节点返回(执行未成功)时继续执行,直到执行成功(回到Root)

  • image.png

Sequence:(串行节点) 子节点返回(执行成功)时继续执行 子节点返回(执行失败)时终止执行(回到Root)

  • image.png


Simple Parallel:(并行节点) 可以同时执行一个Task任务和一个基础节点,

在main-Task没有(返回失败)之前会一直执行另一个节点

  • image.png

装饰器:Decorator

类似判断条件,类似条件语句的判断条件,或者流程控制 https://docs.unrealengine.com/4.27/zh-CN/InteractiveExperiences/ArtificialIntelligence/BehaviorTrees/BehaviorTreeNodeReference/BehaviorTreeNodeReferenceDecorators/ image.png 通知观察者:Notify Observer(一般保持默认即可) On Result Change:当结果变化(黑板结果改变) On Value Change:当值改变(黑板的值被修改,无论结果是否和之前一样)

观察者终止:Observer Aborts 装饰器是否影响之后的节点(及会不会受装饰器的控制) None:不影响 Self:只影响自己,及其子节点 LowerPriority:仅影响右侧的节点 Both:同时影响自己,及其右侧的节点 image.png