行为树

https://blog.csdn.net/xiaomogg/article/details/81588132

行为树(BT,Behaviour Tree)

1、行为树每个节点都需要向其父节点返回一个值(可以理解为在执行程序前先通过一个函数来判断JSON数据的子节点是否允许执行),以允许父节点根据子节点运行情况继续运行。

〇、每棵树都有一个根节点(Root node),这个节点没有特殊意义,只是用来开始的。

一、Composite Node(可以理解为行为的关系处理函数)

1、Selector:实现子节点或关系,按定义顺序遍历子节点,直到有一个子节点返回true时停止,并返回true。如果子节点全部返回false,则返回false。

2、Random Selector:类似Selector,不同之处在于,按照随机顺序遍历子节点。

3、Sequence:实现子节点与关系,按定义顺序遍历子节点,直到有一个节点返回false时停止,并返回false。如果子节点全部返回true,则返回true。

4、Parallel:实现逗号表达式的效果,依次执行所有子节点,返回最后一个子节点的返回值

二、Behaviour Node

1、Action:执行其中定义的行为,并返回true。

2、Condition Action:如果条件为真,则执行Action,并返回true;否则,不执行Action,并返回false。

三、Decorator Node

1、Successor:拥有一个子节点,执行子节点后返回true。

2、Failure:拥有一个子节点,执行子节点后返回false。

3、Negate:拥有一个子节点,返回子节点返回值的相反之(true变false,false变true)。

四、Condition Node

1、Filter:如果Filter为真,则执行子节点,并返回true;否则,不执行子节点,返回false。

原文地址:https://www.cnblogs.com/mitang/p/13741772.html