首页 > 其他分享 >虚幻自带的装饰器

虚幻自带的装饰器

时间:2024-03-04 16:57:05浏览次数:20  
标签:AI 黑板 装饰 例子 虚幻 自带 执行 节点

介绍

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

合成

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


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,黑板,装饰,例子,虚幻,自带,执行,节点
From: https://www.cnblogs.com/shaoSaxon/p/18051840

相关文章

  • 5#服务节点和装饰器节点
    简述服务节点和装饰节点都是一种附加节点,它们可以附加在行为树中的分支节点以及Task节点中服务节点,常被用在Task节点上,一般是用作对Task节点功能的补充与修正装饰器节点(也被称之为条件节点),常被用在行为树分支节点上,作为对行为分支的判断而存在服务节点使用示例创建方式1.......
  • 虚拟机Hyper-V (Win11自带)(二)
    虚拟机Hyper-V(Win11自带)1、下载1、下载WindowsSubsystemForAndroid【安卓的离线安装包】打开https://store.rg-adguard.net/输入https://www.microsoft.com/store/productid/9p3395vx91nr选择Slow,点击对勾最下方找到MicrosoftCorporationII.WindowsSubsystem......
  • Flask使用装饰器注意点
    一装饰器,需要放在路由装饰器下面'''在执行视图函数之前,做判断--》路由的装饰器是控制路由匹配的--》需要先执行,所以登录认证装饰器,需要放在下面'''二需要直接指定路由别名原因'''直接添加会报错————每个路由,都会有个别名,如果不写,默认以函数名作为别名如果视图......
  • 装饰器模式
    简介装饰器模式(DecoratorPattern)是一种结构型设计模式,它允许向现有对象动态地添加新功能,同时又不改变其结构。该模式通过创建一个包装对象,也就是装饰器,来包裹原始对象,并在包裹的过程中添加新的行为或责任。结构Component(组件):定义了一个对象接口,可以给这些对象动态地添加职责......
  • VS2019自带的增强型指令集和自我优化的版本速度比较.
    去年年底把工程项目由VS的2015升级到2019版本,本以为直接配置下运行环境就可以了,但是一编译发现一大堆错误,所有的错误都指向一系列的指令集,比如_mm_exp_ps、_mm_log_ps、_mm_pow_ps等等,后面发现原来从2019版本开始,编译器已经自带了这些常用的函数,所以自己函数和系统的重名了,也......
  • 面向对象编程的绑定方法、掩藏属性、装饰器
    一、绑定方法1、绑定给类的方法(@classmethod)12345678910111213141516171819class Oracle():    def __init__(self,ip,port):        self.ip = ip        self.port = port     @classmethod  #该方法......
  • 设计模式结构型之装饰器模式
    实验介绍本实验主要为大家介绍设计模式中的装饰器模式。从装饰器的概念引入,详细的介绍了装饰器和装饰器的应用,帮助大家对其有一个深层的理解。随后提供了两个在实际开发过程中可能会遇到的真实场景,帮助大家建立装饰器模式在前端应用的直观印象。最后提供了使用装饰器时候需要注意......
  • HarmonyOS—@Observed装饰器和@ObjectLink嵌套类对象属性变化
    @Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化概述@ObjectLink和@Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步:被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件......
  • 修改标签官网自带css——dialog
    对于标签原本自带的class类就如下图的.el-dialog__body就是自带的原dialog:现在若要更改padding值方式一(但是修改的是全局的了):<style>.el-dialog__body{padding:15px;}</style>方式二(给dialog加一个自定义类名,修改的是所有class匹配的el-dia......
  • Python 装饰器入门
    目录Python函数头等对象内部功能作为返回值的函数Python中的简单装饰器结论Python函数为了理解装饰器,您必须首先了解函数如何工作的一些细节。函数有很多方面,但在装饰器的上下文中,函数根据给定的参数返回一个值。下面是一个基本示例:`>>>defadd_one(number):.........