虚幻自带的装饰器

介绍

这一章将介绍虚幻自带的装饰器,装饰器是一种用于判断的附加节点,用于判断其附加的节点是否执行

合成

合成装饰器是一种用于判断黑板布尔值的装饰器,在这个装饰器中可以调用黑板布尔值进行自定义的逻辑判断,并将最终判断结果传给附加的节点来决定其到底要不要执行


Compare Blackboard entries

比较装饰器也是一种用于判断黑板布尔值的装饰器,在这个装饰器中可以通过比较两个黑板键值之间的大小来决定附加的节点要不要执行


例子:在下列行为树中,我使用TestTask将两个大小不同的浮点值黑板键A_Val和B_Val给与黑板值,然后比较装饰器判断这个两个值是否符合装饰器细节面板中的定义

Conditional Loop

符合条件则循环,这个节点的作用是检查bool值黑板键是否符合自身细节面板中的设置,然后决定是否执行其附加的节点

例子:在下列行为树中,我将TestTask中的SetBool的值设定为True,然后装饰器设置为未设置(当值为True),因此下列这个装饰器附加的节点将不会执行

Cone Check/Keep in Cone

这个装饰器是锥体检测,它是一种检测方式,特点是以锥体的方式向指定方向进行检测,其范围是无限远的,而且不受遮挡物的影响

调用

它的细节面板

例子:这个例子将使用锥体检测让AI移动到玩家的位置

创建3个向量类型黑板键值

TestTask将值赋给黑板变量

组织行为树


Keep in Cone是一个大同小异的装饰器,其作用是检测目标是否保持在锥体范围内,使用方式大同小异故略过

Does path exist

这个装饰器用于计算两个点之间是否存在导航路径

例子:在这个例子中,如果存在导航路径,那么AI就会移动到玩家位置

1.修改地图导航路径

2.为该装饰器赋值

3.组织行为树

Force Success

强行成功装饰器,使用这个装饰器的节点必定成功执行,这在一些特殊情况下以及Debug时特别有用,尤其是序列节点,它可以使得该节点下的叶节点均能完成执行

Is At Location

这个装饰器会判断AI是否在指定的黑板键向量值的一定范围内,如果是,则执行

在这个例子中,如果AI距离玩家500UE单位范围内,则移动向玩家

Is BlackBoard value of given Class

这个装饰器会判断黑板键中是不是指定的Class,如果是则执行,否则不执行

TimeLimit

这个装饰器会对其附加的节点进行执行的时间限制

例子:这个例子中,AI会移动向玩家5秒,5秒后做一个动画

posted @   荒坂株式会社  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示