Behavior Designer(以下简称BD)中节点类型分为4类:Composites,Conditional, Actions以及Decoration,下面将一一介绍4种类型的节点
一. Composites(组合节点)
Composites是一种组合节点,将多个子节点聚集起来。组合节点控制着子节点的运行顺序和运行逻辑。
BD 提供的Composites节点以及说明参考:
http://www.opsive.com/assets/BehaviorDesigner/documentation.php?id=24
作为一个Composite节点,他负责子节任务的调度顺序(是并行,顺序,随机执行?)以及调度策略(每一个子任务执行成功或者失败后是否继续执行其他子任务?组合节点返回的值和子节点返回值得关系等)。
比如说:sequence节点会按前序遍历的顺序执行所有子节点,只要一个子节点执行返回失败,则后续子节点将不再执行,sequence节点立刻返回失败。如果所有子节点都执行成功,则sequence节点返回成功。(类似and的逻辑)
每一种节点的对子节点的调度行为参照BD的官方文档。
二. Decorators (修饰节点)
Decorators是一种修饰节点,他只能有一个子节点。(一种对子节点功能的扩展,本身并不需要了解子节点的功能)。
例如:a) 持续的运行子节点直到它返回success。b) 对子节点返回值取反
BD 提供的修饰节点以及具体说明参考:http://www.opsive.com/assets/BehaviorDesigner/documentation.php?id=34
Interrupt, Inverter, Repeater, Return Failure, Return Success, Task Guard, Until Failure, Until Success
三. Conditionals (条件节点)
Conditionals 测试游戏中的一些属性是否满足条件,本身并不修改游戏的状态。
BD默认了大量Unity组件相关的Conditionals,实际开发过程中,也需要创建不同的条件节点来满足游戏。
四. 行为节点
行为节点会修改游戏的状态,比如说播放动画,发射武器,移动位置,启动另一颗行为树,暂停行为树等。
BD中除了大量的Unity组件相关的行为节点,还提供了一些设置数值,调用方法,中断等各种行为节点。
http://www.opsive.com/assets/BehaviorDesigner/documentation.php?id=14