NPBehave行为树概念
作者:互联网
行为树NPBehave
Composite
- Sequence and运算 依次执行序列,第一个返回false 停止执行返回false 全部为true 返回true
- Selector or运算 依次执行序列,第一个返回true 停止执行返回true 全部为true 返回true
- Parallel 同时开始执行序列,根据策略决定结果
. 失败判定为 Policy.ONE 有一个子节点返回执行失败时停止其它子节点 结果返回失败
. 成功判定为 Policy.ONE 有一个子节点返回执行成功时停止其它子节点 结果返回成功
. 成功判定为 Policy.ALL 所有子节点返回执行成功 结果返回成功
. 上面三种情况以外 返回失败 - RandomSelector or运算 乱序执行序列,第一个返回true 停止执行返回true 全部为true 返回true
- RandomSequence and运算 乱序执行序列,第一个返回false 停止执行返回false 全部为true 返回true
Decorator
- Failer 忽略子节点返回结果, 返回失败
- Succeeder 忽略子节点返回结果, 返回成功
- Inverter 返回与子节点结果相反的结果
- Random 0-1之间随机一个数, 返回是否小于初始化设置的值
- Repeater 循环执行子节点设定n次,n<=0 为无限次
- Cooldown 等待一段时间执行子节点
- Observer 给节点套一层,可以用来插入一些操作
- TimeMax 最多等待多久返回结果,如果超时根据创建时指定策略返回结果,否则反击子节点结果
- TimeMin 最少等待多久返回,如果执行时间小于最小时间,根据策略返回结果
- WaitForCondition 等待某个条件(一个action
检查)成立时,执行子节点 - Service tick一个函数并且启动子节点
- ObservingDecorator BlackboardQuery BlackboardCondition 条件检查控制
终止原则
- Stops.NONE:装饰器只会在启动时检查一次它的状态,并且永远不会停止任何正在运行的节点。
- Stops.SELF:装饰器将在启动时检查一次它的条件状态,如果满足,它将继续观察黑板的变化。一旦不再满足该条件,它将终止自身,并让父组合继续处理它的下一个节点。
- Stops.LOWER_PRIORITY:装饰器将在启动时检查它的状态,如果不满足,它将观察黑板的变化。一旦条件满足,它将停止比此结点优先级较低的节点,允许父组合继续处理下一个节点
- Stops.BOTH:装饰器将同时停止:self和优先级较低的节点。
- Stops.LOWER_PRIORITY_IMMEDIATE_RESTART:一旦启动,装饰器将检查它的状态,如果不满足,它将观察黑板的变化。一旦条件满足,它将停止优先级较低的节点,并命令父组合立即重启此装饰器。
- Stops.IMMEDIATE_RESTART:一旦启动,装饰器将检查它的状态,如果不满足,它将观察黑板的变化。一旦条件满足,它将停止优先级较低的节点,并命令父组合立即重启装饰器。正如在这两种情况下,一旦不再满足条件,它也将停止自己。
标签:返回,行为,Stops,NPBehave,概念,停止,执行,true,节点 来源: https://www.cnblogs.com/bsdy/p/16607306.html