Composites
从左往右执行其子节点,直到一个达成,则 Select 达成并返回上层,否则失败并返回上层
从左往右执行其子节点,直到一个失败,则 Sequence 失败并返回上层,否则达成并返回上层
包含一个main task和一个sub tree, main task支持一个 Task 节点,用于执行一个主线行为,sub tree 支持一个行为树,伴随 main task 执行,返回结果是main task的执行结果
Task
Task 节点用于执行具体的动作,引擎内置的 Task 常用的有 Wait 、 Move To 、 Is At Location
等等,Task 一般是自行实现的AI具体的行为逻辑,其中的代码与普通蓝图代码一样
Event Receive Execute / Event Receive Execute AI
定义该 Task 的主体逻辑代码,如果没有特殊需求,则必须以 Finish Execute 节点结束,因为只有 Finish Execute 节点才能想上层返回执行结果,否则该 Task 如果不被打断将不会执行完成如果同时存在 Event Receive Execute 和 Event Receive Execute AI 两个事件,优先执行 Event Receive Execute AI 事件
Event Receive Abort / Event Receive Abort AI
当前任务被打断时触发该事件,用来处理突发情况对当前行为的影响,如果没有特殊需求,则必须以 Finish Abort 节点结束,以结束该任务节点的执行如果同时存在 Event Receive Abort 和 Event Receive Abort AI 两个事件,优先执行 Event Receive Abort AI 事件
Decorator 类型的节点用作条件判断(类似于程序中的基本流程控制),附着于 Composites 或 Task 节点上
- Notify Observer:规定条件重新评估的时机
On Result Change:适用于范围性检测,当检测的值越界时进行重新评估该条件产生的结果
On Value Change:适用于精确检测,当检测的值发生变化时进行重新评估该条件产生的结果 - Observer Aborts
- Key Query
- Blackboard Key:用于检查的黑板的键。对可返回None的数据类型(如物体)作用最佳,因为其他类型的数据可能返回其初始化值(0、false 、 {0,0,0}等)
- Node Name
通过 Composite Decorator 节点可设置比内置节点更高级的逻辑,但无法达到完整蓝图的复杂程度
- Composite Name:行为树图表中显示的节点名称
- Show Operations:使操作以纯文本方式列于节点上
循环指定的次数或无限循环
- Num Loops:循环的次数
- Infinite Loop:是否进行无限循环
- Node Name:行为树图表中显示的节点名称
带条件的循环,如果Blackboard上指定的键值满足条件则进行循环
- Node Name:行为树图表中显示的节点名称
- Key Value
- Blackboard Key:用于检查的黑板的键。对可返回None的数据类型(如物体)作用最佳,因为其他类型的数据可能返回其初始化值(0、false 、 {0,0,0}等)
Cone Check
检测指定的位置或Actor是否在椎体范围内,返回bool结果
- Cone Half Angle:椎体的半角。对于90度的椎体而言,这个值应该设置为45度
- Observer Aborts
- Cone Direction:锥形口的朝向
- Observer:被检查的位置或Actor,确定是否在锥形内
- Inverse Condition:结果是否翻转(true变为false,false变为true)
- Node Name
会锁定一个节点或分支的执行,直到冷却时间结束
- Cool Down time:Cooldown decorator 锁定此节点执行的冷却时间(以秒计算)
- Observer Aborts
- Node Name
Does Path Exist
确定路径是否可由以下两个矢量组成:Blackboard Key A 和 Blackboard Key B (判定SelfActor与TargetPawn是否存在一条可以到达的路径,返回bool结果)
- Blackboard Key A:路径中的第一个位置
- Blackboard Key B:路径中的第二个位置
- Path Query Type,路径计算类型:NavMesh Raycast 2D 非常快,Hierarchical Query 快,Regular Path Finding 慢
- Inverse Condition:结果是否翻转 (true变为false,false变为true)
- Observer Aborts
- Filter Class:确定使用的导航数据。如果设为None,则将 使用默认的导航数据
- Node Name
Force Success
强制使所附着的节点返回执行成功结果
- Node Name
原文:https://www.cnblogs.com/mattins/p/9269993.html