行为树节点参考:Decorators

Decorator 即为其他行为树系统中的条件语句,附着于一个 CompositeTask 节点,并定义树中的一个分支或单个节点是否可被执行。

Blackboard

Blackboard.png

Blackboard 节点将检查,确定特定 Blackboard Key 上是否已设置数值。

属性 描述
Notify Observer
On Result Change 条件发生变化时进行再次评估。
On Value Change 观测的黑板键发生变化时进行再次评估。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Key Query
Is Set 数值是否已设定?
Is Not Set 数值是否尚未设定?
Blackboard Key 用于检查的键。对可返回 None 的数据类型(如物体)作用最佳,因为其他类型的数据可能返回其初始化值(0、false、{0,0,0} 等...)。
Node Name 行为树图表中显示的节点名称。

Compare Blackboard Entries

CompareBBEntries.png

Compare Blackboard Entries 节点将对比两个黑板键的数值,基于对比结果(相等或不等)阻止或允许节点的执行。

属性 描述
Operator
Is Equal To 两个键是否相等?
Is Not Equal To 两个键是否不同?
Blackboard Key A 此对比中使用的第一个键。
Blackboard Key A 此对比中使用的第二个键。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Node Name 行为树图表中显示的节点名称。

Composite

Composite.png

通过 Composite Decorator 节点可设置比内置节点更高级的逻辑,但无法达到完整蓝图的复杂程度。为节点添加 Composite Decorator 后,双击 Composite Decorator 呼出 Composite 节点的图表。在图表区域中 单击右键 即可将 Decorator 节点作为独立节点添加,然后将它们通过 ANDORNOT 节点连接起来,创建更高级的逻辑:

CompositeGraph.png

属性 描述
Composite Name 行为树图表中显示的节点名称。
Show Operations 使操作以纯文本方式列于节点上。

Conditional Loop

只要满足 键查询 的条件,此 Decorator 节点将包含附着在循环上的节点。

ConditionalLoop.png

属性 描述
Node Name 行为树图表中显示的节点名称。
Key Query
Is Set 数值是否已设定?
Is Not Set 数值是否尚未设定?
Blackboard Key 用于检查的键。对可返回 None 的数据类型(如物体)作用最佳,因为其他类型的数据可能返回其初始化值(0、false、{0,0,0} 等...)。

Cone Check

ConeCheck.png

Cone Check decorator 接受 3 个矢量键:第一个确定开始锥体的的位置,第二个定义锥体朝向的方向,第三个用于确定位置是否在锥体内。通过 Cone Half Angle 属性可对锥体角度进行定义。

属性 描述
Cone Half Angle 锥形的半角。对 90 度的锥形而言,此数值须设为 45 度。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Cone Origin 锥形开始的位置(锥形尖端)。
Cone Direction 锥形口的朝向。
Observed 被检查的位置或 Actor,确定是否在锥形内。
Inverse Condition 结果是否为反转(true 变为 falsefalse 变为 true)。
Node Name 行为树图表中显示的节点名称。

Cooldown

Cooldown.png

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

属性 描述
Cool Down time Cooldown decorator 锁定此节点执行的冷却时间(按秒计)。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Node Name 行为树图表中显示的节点名称。

Does Path Exist

DoesPathExist.png

Does Path Exist 节点确定路径是否可由以下两个矢量组成:Blackboard Key A 和 Blackboard Key B。

属性 描述
Blackboard Key A 路径中的第一个位置。
Blackboard Key B 路径中的第二个位置。
Path Query Type
NavMesh Raycast 2D 非常快。
Hierarchical Query 快。
Regular Path Finding 慢。
Inverse Condition 结果是否为反转(true 变为 falsefalse 变为 true)。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Filter Class 确定使用的导航数据。如设为 None,则将使用默认的导航数据。
Node Name 行为树图表中显示的节点名称。

Force Success

ForceSuccess.png

Force Success decorator 将节点结果改为成功。

属性 描述
Node Name 行为树图表中显示的节点名称。

Gameplay Tag Condition

GameplayTagCondition.png

属性 描述
Actor to Check 黑板键,包含检查 Actor 的引用。
Tags to Match Decorator 是否匹配 Gameplay Tags 属性中列出的 任意所有 标记。
Gameplay Tags 载入 Gameplay Tag 编辑器,选择用于此 Decorator 中的标记。
Inverse Condition 是否对此 Decorator 的结果进行反转?(false 变为 true,true 变为 false)
Node Name 行为树图表中显示的节点名称。

Is Blackboard Value of Given Class

IsBlackboardValueOfGivenClass.png

属性 描述
Test Class 针对 Blackboard Key 属性对象的类进行测试的类类型。
Blackboard Key 被测试的 Blackboard Key。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Node Name 行为树图表中显示的节点名称。

Keep in Cone

KeepInCone.png

属性 描述
Cone Half Angle 锥形的半角。对 90 度的锥形而言,此数值须设为 45 度。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Cone Origin 锥形开始的位置(锥形尖端)
Observed 锥形中保留的位置或 Actor。
Node Name 行为树图表中显示的节点名称。

Loop

Loop.png

以一定次数或无限循环节点或分支。

属性 描述
Num Loops 循环的次数。
Infinite Loop 是否进行无限循环?
Node Name 行为树图表中显示的节点名称。

Reached Move Goal

ReachedMoveGoal.png

Reached Move Goal 节点将检查 Pawn(带一个 Character Movement 组件)的路径并在 Pawn 到达其移动目标后返回成功。

属性 描述
Inverse Condition 结果是否为逆向(true 变为 falsefalse 变为 true)。
Node Name 行为树图表中显示的节点名称。

Set Tag Cooldown

SetTagCooldown.png

属性 描述
Cooldown Tag 用于冷却的 GameplayTag。
Cooldown Duration 冷却时间(以秒计)。
Add to Existing Duration 如特定 GameplayTag 上已存在冷却,是否添加更多冷却?
Node Name 行为树图表中显示的节点名称。

Tag Cooldown

TagCooldown.png

属性 描述
Cooldown Tag 用于冷却的 Gameplay 标记。
Cooldown Duration 冷却时间(以秒计)。
Add to Existing Duration 如特定 Gameplay 标记上已存在冷却,是否添加更多冷却?
Adds/Sets Cooldown on Deactivation Decorator 停止后,是否对 Cooldown 标记的数值进行添加或设置。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Node Name 行为树图表中显示的节点名称。

Time Limit

TimeLimit.png

在停止和确定失败之前,Time Limit decorator 将为分支或节点设置一定量的时间。每次节点成为集中点后,计时器均会重置。

属性 描述
Time Limit 节点失败的时间限制(按秒计)。
Observer Aborts
None 不中止执行。
Self 中止 self,以及在此节点下运行的所有子树。
Lower Priority 中止此节点右方的所有节点。
Both 终止 self、此节点下运行的所有子树、以及此节点右方的所有节点。
Node Name 行为树图表中显示的节点名称。