学习过程中的记录罢了
composite Task(复合节点):父任务下有一个或多个子任务。
1、sequence Task(顺序节点)
从左到右依次运行子集,只要有任意子节点任务失败,则顺序节点停止,该序列返回失败。
2、selector Task(选择节点)
从左到右依次执行子集,只要有任意子节点返回成功,则选择节点停止,该序列返回成功。
decorator Task(装饰节点):顾名思义,为节点添加额外功能用的。
1、repeater Task
用于重复执行一段节点
2、parallel Task
允许一个任务同时进行多个状态,这个是行为树与状态机显著的差别,因为状态机一次只能在一个状态停留,而行为树可以改善这一点。
只有所有的子节点全部返回成功时,整个树才会返回成功,否则失败
此外并行节点还有两个变体:
parallel selector Task:这一点即和selectorTask一样,只要一个节点成功,则返回成功。
parallel completed Task:同时运行所有子节点,直到返回成功或失败
然后说一下自己在实践过程中的一些心得,一般制作敌人Ai时都会在根节点储放上一个循环节点用于更新敌人状态,如果循环节点下,在放置一个随机选择节点则会不断地进行随机节点中地子节点,这就会导致随机节点失去作用。这时候我们就需要提前写好条件节点自己进行随机,再利用选择节点和循序节点执行某一个节点下的特定状态。
下面这段链接是自己用行为树做的一个实践
unity 角色状态机&敌人行为树