UE4 行为树资料

Posted mattins

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 行为树资料相关的知识,希望对你有一定的参考价值。

Composites

Select 选择

从左往右执行其子节点,直到一个达成,则 Select 达成并返回上层,否则失败并返回上层

Sequence 队列

从左往右执行其子节点,直到一个失败,则 Sequence 失败并返回上层,否则达成并返回上层

Simple Parallel 模拟并行

包含一个main task和一个sub tree, main task支持一个 Task 节点,用于执行一个主线行为,sub tree 支持一个行为树,伴随 main task 执行,返回结果是main task的执行结果

Task

Task 节点用于执行具体的动作,引擎内置的 Task 常用的有 Wait 、 Move To 、 Is At Location 等等,Task 一般是自行实现的AI具体的行为逻辑,其中的代码与普通蓝图代码一样

Task 中的常用事件

  • 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 装饰器

Decorator 类型的节点用作条件判断(类似于程序中的基本流程控制),附着于 Composites 或 Task 节点上

常用 Decorator 条件

Blackboard 判断指定的黑板的键值是否符合判断条件

  1. Notify Observer:规定条件重新评估的时机
    On Result Change:适用于范围性检测,当检测的值越界时进行重新评估该条件产生的结果
    On Value Change:适用于精确检测,当检测的值发生变化时进行重新评估该条件产生的结果
  2. Observer Aborts
  3. Key Query
  4. Blackboard Key:用于检查的黑板的键。对可返回None的数据类型(如物体)作用最佳,因为其他类型的数据可能返回其初始化值(0、false 、 {0,0,0}等)
  5. Node Name

Composite 复合

通过 Composite Decorator 节点可设置比内置节点更高级的逻辑,但无法达到完整蓝图的复杂程度

  1. Composite Name:行为树图表中显示的节点名称
  2. Show Operations:使操作以纯文本方式列于节点上

Loop 环

循环指定的次数或无限循环

  1. Num Loops:循环的次数
  2. Infinite Loop:是否进行无限循环
  3. Node Name:行为树图表中显示的节点名称

Conditional Loop 有条件的环

带条件的循环,如果Blackboard上指定的键值满足条件则进行循环

  1. Node Name:行为树图表中显示的节点名称
  2. Key Value
  3. Blackboard Key:用于检查的黑板的键。对可返回None的数据类型(如物体)作用最佳,因为其他类型的数据可能返回其初始化值(0、false 、 {0,0,0}等)

Cone Check

检测指定的位置或Actor是否在椎体范围内,返回bool结果

  1. Cone Half Angle:椎体的半角。对于90度的椎体而言,这个值应该设置为45度
  2. Observer Aborts
  3. Cone Direction:锥形口的朝向
  4. Observer:被检查的位置或Actor,确定是否在锥形内
  5. Inverse Condition:结果是否翻转(true变为false,false变为true)
  6. Node Name

CoolDown 冷却

会锁定一个节点或分支的执行,直到冷却时间结束

  1. Cool Down time:Cooldown decorator 锁定此节点执行的冷却时间(以秒计算)
  2. Observer Aborts
  3. Node Name

Does Path Exist

确定路径是否可由以下两个矢量组成:Blackboard Key A 和 Blackboard Key B (判定SelfActor与TargetPawn是否存在一条可以到达的路径,返回bool结果)

  1. Blackboard Key A:路径中的第一个位置
  2. Blackboard Key B:路径中的第二个位置
  3. Path Query Type,路径计算类型:NavMesh Raycast 2D 非常快,Hierarchical Query 快,Regular Path Finding 慢
  4. Inverse Condition:结果是否翻转 (true变为false,false变为true)
  5. Observer Aborts
  6. Filter Class:确定使用的导航数据。如果设为None,则将 使用默认的导航数据
  7. Node Name

Force Success

强制使所附着的节点返回执行成功结果

  1. Node Name

以上是关于UE4 行为树资料的主要内容,如果未能解决你的问题,请参考以下文章

[UE4]在AIController中使用行为树

UE4蓝图AI角色制作之测试行为树EQS查询饥饿策略

AI行为树的理解

[UE4]行为树,组合节点:Selector和Sequence

UE4行为树CD系统的使用

[工作积累] UE4 并行渲染的同步 - Sync between FParallelCommandListSet & FRHICommandListImmediate calls(代码片段