核心定义:Composites(组合节点)是行为树的流程控制器,负责管控所有子节点的执行顺序、中断规则、成败状态,是搭建AI逻辑的核心骨架。

前置基础规则:所有行为树节点只有三种状态 —— Success(成功)、Failure(失败)、Running(运行中)


一、高频核心节点(90% 开发场景必用)

1. Sequence 序列节点(递进执行)

核心口诀一败即败,全成才成,顺序执行

执行规则:从上至下依次执行子节点;任意子节点返回 Failure/Running,立刻终止后续执行;所有子节点全部 Success,自身才返回 Success。

核心用途:做连贯步骤逻辑(前置条件+后续动作)

实战案例:看见目标 → 靠近目标 → 发起攻击(缺一不可)

2. Selector 选择节点(分支择优)

核心口诀一成即成,全败才败,择优执行

执行规则:从上至下检测子节点;任意子节点返回 Success/Running,立刻停止后续检测;所有子节点全部 Failure,自身才返回 Failure。

核心用途:做互斥分支逻辑(二选一、多选一)

实战案例:看见敌人追击 → 没看见敌人巡逻(互斥切换)


二、并行类节点(多逻辑同时执行)

3. Parallel 并行节点

核心口诀所有子节点同时跑,互不阻塞

执行规则:所有子节点同步并行执行,可自定义终止条件(全部成功/任一成功/任一失败)。

核心用途:并行动作、状态同步

实战案例:角色移动 + 播放跑步动画 + 播放脚步声

4. Parallel Selector 并行选择节点

核心口诀并行执行,任一成功立刻结束

执行规则:所有子节点同时运行,只要有一个子节点 Success,整体立刻成功并终止;全部失败则整体失败。

核心用途:紧急互斥优先级检测

实战案例:正常攻击逻辑 / 被攻击时立刻触发闪避(谁先满足谁生效)


三、随机类节点(模拟随机AI行为)

5. Random Selector 随机选择节点

核心口诀随机挑一个子节点执行,一成即停

执行规则:随机打乱子节点顺序,逐个执行,遇到第一个成功的节点就终止;全部失败则整体失败。

核心用途:随机 idle 动作、随机巡逻点位、随机台词

实战案例:AI待机随机摸头、张望、站立发呆

6. Random Sequence 随机序列节点

核心口诀随机排序,全部执行,一败即败

执行规则:随机打乱子节点顺序,按新顺序依次执行,必须全部成功才算整体成功。

核心用途:无固定顺序的成套随机行为

实战案例:AI随机整理装备、环顾四周、调整站姿(全套做完才算完成待机互动)


四、高阶中断节点(优先级打断)

7. Selector Evaluator 可中断选择节点

核心口诀每帧重检,高优强制打断当前行为

执行规则:每帧实时刷新所有子节点状态,高优先级分支可强制中断正在运行的低优先级行为

核心用途:紧急状态、高优先级行为覆盖(AI状态打断)

实战案例:正常巡逻/追击 → 血量过低立刻打断所有行为,触发逃跑


五、极速选型对照表(开发首选)

需求场景 首选节点 核心逻辑
先满足条件、再执行动作(步骤流程) Sequence 条件 & 动作 同时成立
多个行为二选一/多选一(状态切换) Selector 满足其一即可执行
多个动作同时进行(动画+移动) Parallel 并行执行、互不阻塞
AI随机动作、随机行为 Random Selector 随机单选、模拟自然AI
紧急状态打断当前所有行为 Selector Evaluator 高优先级强制中断

六、你的核心需求 标准范式(直接复用)

需求:看见目标移动,看不见目标停止

固定组合模板

Selector
├─ Sequence
│  ├─ 视野检测(CanSeeTarget)
│  └─ 目标移动(MoveToTarget)
└─ 原地等待/停止(Wait)

逻辑解析:检测+移动必须同时满足(Sequence),不满足则切换停止状态(Selector分支)