虚幻自带的装饰器
介绍
这一章将介绍虚幻自带的装饰器,装饰器是一种用于判断的附加节点,用于判断其附加的节点是否执行
合成
合成装饰器是一种用于判断黑板布尔值的装饰器,在这个装饰器中可以调用黑板布尔值进行自定义的逻辑判断,并将最终判断结果传给附加的节点来决定其到底要不要执行
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秒后做一个动画
本文来自博客园,作者:荒坂株式会社,博客内容均属学习笔记,只做交流之用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】