游戏AI—行为树研究及实现01

1.概念介绍

行为树上节点的类型有:三大类,分别是Composite,Decorator,Leaf。

Composite定义了执行框架,最简单的就是Sequence,序列执行的节点流,如果一个节点执行失败,就返回,其余节点就不再执行,显然这种节点,对于完整性要求的事务非常合适。

和Sequence相似正好相反的是 Selector,这种框架是,当子节点只要有一个成功,就返回,其余节点不再执行。所以说,sequence是对所有子节点执行的and操作,selector是对所有子节点执行or操作。比如,你下班回家,准备进房间的时候,发现门锁着(一个节点,检查门是否锁着,锁着意味着进入失败),拿出一把钥匙(如果找到的话就成功),然后就可以进房间了,当然这个过程还有很多条件,比如,当前的钥匙不对,需要再试其他钥匙。

Decorator提供了转接功能,只能有一个子节点。负责对子节点的输出结果进行二次加工,再返回到父节点。例如子节点计算一个值,当这个值在什么区间内返回什么,超过区间返回别的。这种转接口就多了,比如总是返回true,或者总是返回false

leaf定义了具体的行为,也是承载主要功能的节点,不能有子节点。包括子树节点SubTree,单次行为节点Action,条件节点Condition,状态机节点FSM,激活的状态Enable/Disable,根节点转移RootSwitch等。最简单的实现,就是行走功能节点,驱动玩家在场景中行走。其实叶节点可以认为是函数,而composite和decorator就是调用这些函数的地方。

来自网络

猜你喜欢

转载自blog.csdn.net/qq_31967569/article/details/81108620