UE5.2 SmartObject使用实践

SmartObject是UE5新出的一项针对AI的功能,可为开发者提供如公园长椅、货摊等交互对象的统一外观封装,如UE的CitySample(黑客帝国Demo)中就运用到了SmartObject。

但SmartObject实践起来较为繁琐,主要依赖于AI及行为树,并且在UE5.3中这个模块更换了Claim接口,使其无法在纯蓝图配置中跑起来,因此本文将用一个简化的案例并配合UE5.2版本演示该模块使用。

1.SmartObject配置

(1)首先打开插件SmartObject、GameplayBehaviorSmartObjects:
在这里插入图片描述
(2)右键可创建SmartObjects的定义:
在这里插入图片描述
(3)添加一个Slot并设置Behavior Definitions:
在这里插入图片描述
这个设置类似于给公园长椅设定座位位置,该位置可以是大概位置,因为具体逻辑可以在触发时进行处理。
Behavior Definitions的参数必须填写,目前是强绑定关系。

(4)新建空Actor蓝图,添加SmartObject组件并设置刚刚配置的资产。
在这里插入图片描述

(5)将该Actor放置于场景任意位置。
在这里插入图片描述

2.AI配置

接下来需要配置一个简单的AI角色,以触发SmartObject。

AI角色以及行为树的创建请看这篇文章:
https://blog.csdn.net/grayrail/article/details/130389966

(1)配置好后,创建如下3个对象,其中行为树可以先不急着创建具体节点:
在这里插入图片描述

(2)打开行为树,创建一个AI Task用于处理SmartObject的查找和触发:
在这里插入图片描述

(3)重写节点Receive Execute AI,编写AI Task执行逻辑:
在这里插入图片描述
上述逻辑通过节点Find Smart Objects查找场景中2000左右范围的SmartObjects对象,并返回为数组。

(4)继续编写Branch右侧逻辑:
在这里插入图片描述
这里通过关键节点Claim预定该SmartObject的使用,防止别的使用者也查找到该SmartObject。通过Claim Handle可以拿到该Slot进行下一步处理,例如这里就将AI位置设置给了Slot。

网上教程用节点Use Claimed Gameplay Behavior Smart Object比较多,该节点可以调用AI移动至目标点,然后触发Behavior,但需要布置寻路网格比较麻烦,因此这里直接设置位置表示触发完成。

(5)最后,使用完Claim Handle后,调用Release接口,释放占用:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++_可变参数模板

目录 1、可变参数模板的用法 2、参数包展开 2.1 递归方式展开 2.2 逗号表达式形式展开 3、参数包的大小 结语 前言: C11引入了可变参数模板,他的作用是可以让创建的函数模板或者类模板的模板参数可以接收任意数量参数,在C11前&#x…

微信小程序-自定义简易顶部导航

创建component文件夹 创建navigation文件夹&#xff0c;创建navigation组件 navigation.json {"component": true,"usingComponents": {} }navigation.wxml <view class"navigation"><van-icon wx:if"{{showBack}}" custom…

C语言初学10:typedef

一、作用 为用户定义的数据类型取一个新名字 二、对结构体使用typedef定义新的数据类型名字 #include <stdio.h> #include <string.h>typedef struct Books //使用 typedef 来定义一个新的数据类型名字 {char title[50];} book;int main( ) {//book是typedef定…

【Scrapy】京东商品数据可视化

【Scrapy】京东商品数据可视化 文章目录 【Scrapy】京东商品数据可视化  &#x1f449;引言&#x1f48e;一、爬取数据&#xff1a;1.1 scrapy爬虫库简介&#xff1a;1.2 技术实现&#xff1a;1.2.1搭建框架结构1.2.2 分析网页结构 二、数据保存&#xff1a;三、数据读取以及…

回归预测 | Matlab实现BiTCN-BiGRU-Attention双向时间卷积双向门控循环单元融合注意力机制多变量回归预测

回归预测 | Matlab实现BiTCN-BiGRU-Attention双向时间卷积双向门控循环单元融合注意力机制多变量回归预测 目录 回归预测 | Matlab实现BiTCN-BiGRU-Attention双向时间卷积双向门控循环单元融合注意力机制多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.M…

使用scrapy爬取蜻蜓FM

创建框架和项目 ### 1. 创建虚拟环境 conda create -n spiderScrapy python3.9 ### 2. 安装scrapy pip install scrapy2.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple### 3. 生成一个框架并进入框架 scrapy startproject my_spider cd my_spider### 4. 生成项目 scrapy …

DFS例题(n皇后问题)C++(Acwing)

代码&#xff1a; #include <iostream>using namespace std;const int N 20;int n; char g[N][N]; bool col[N], dg[N], udg[N];void dfs(int u) {if(u n){for(int i 0; i < n; i) puts(g[i]);puts("");return; }for(int i 0; i < n…

[java入门到精通] 19 网络编程,设计模式

今日目标 网络编程 TCP通信 Junit单元测试 单例设计模式 多例设计模式 工厂设计模式 1 网络编程 1.1 软件架构 C/S结构 &#xff1a;全称为Client/Server结构&#xff0c;是指客户端和服务器结构。常见程序有&#xff31;&#xff31;、迅雷等软件B/S结构 &#xff1a…

C/C++关键字详解-----`const`的使用

作为一个关键词&#xff0c;你可以将 const 视为对数据的权限控制机制之一&#xff0c;它主要用于限制数据的可变性&#xff0c;从而提高代码的安全性和可靠性。通过使用 const&#xff0c;可以缩小对数据的修改权限&#xff0c;确保数据在某些情况下不被意外修改。 而根据使用…

【Python数据结构与判断1/7】复杂的多向选择

目录 导入 举个栗子 代码优化 elif 栗子 执行顺序 情况一 情况二 情况三 if-elif-else特性 三种判断语句小结 if if-else if-elif-else 嵌套语句 if嵌套 栗子 执行顺序 相互嵌套 Tips Debug 总结 导入 在前面&#xff0c;我们学习了单向选择的if语句和多项…

第四节:SashulinMessageBroker的团队协作

SMB工程可以通过git或svn等工具进行管理。除此外&#xff0c;SMB也提供了云代码管理功能。实际效果如图&#xff1a; 一、准备工作 1、代码管理相关的表结构 以下是云代码管理表结构&#xff0c;在mysql中运行。 -- Create syntax for TABLE sc_flow CREATE TABLE sc_flow (…

数据结构与算法:链式二叉树

上一篇文章我们结束了二叉树的顺序存储&#xff0c;本届内容我们来到二叉树的链式存储&#xff01; 链式二叉树 1.链式二叉树的遍历1.1二叉树的前序&#xff0c;中序&#xff0c;后序遍历1.2 三种遍历方法代码实现 2. 获取相关个数2.1获取节点个数2.2获取叶节点个数2.3 获取树的…

《软件安装与使用教程》— Git 在Windows的安装教程

目录 Git在Windows安装教程1 获得安装包2 解压文件3 注意事项4 安装步骤4.1 运行安装程序4.2 声明许可4.3 选择安装路径4.4 选择需要安装的组件4.5 选择开始菜单4.6 选择默认编辑器4.7 选择PATH环境4.8 选择HTTPS后端传输4.9 配置行尾巴符转换4.10 配置Git Bash终端仿真器4.11 …

NLP 算法实战项目:使用 BERT 进行模型微调,进行文本情感分析

本篇我们使用公开的微博数据集(weibo_senti_100k)进行训练&#xff0c;此数据集已经进行标注&#xff0c;0: 负面情绪&#xff0c;1:正面情绪。数据集共计82718条(包含标题)。如下图&#xff1a; 下面我们使用bert-base-chinese预训练模型进行微调并进行测试。 技术交流&#x…

STC89C52串口通信详解

目录 前言 一.通信基本原理 1.1串行通信与并行通信 1.2同步通信和异步通信 1.2.1异步通信 1.2.2同步通信 1.3单工、半双工与全双工通信 1.4通信速率 二.串口通信简介 2.1接口标准 2.2串口内部结构 2.3串口相关寄存器 三.串口工作方式 四.波特率计算 五.串口初始化步骤 六.实验…

Python虚拟环境搭建

一、下载安装Anaconda Anaconda官网&#xff0c;下载完成后一路next安装完成即可。 二、使用Anaconda &#xff08;Windows最好配合ConEmu,cmder等非原装cmd使用&#xff09; 查看版本&#xff1a;conda env list 查看已存在的镜像源&#xff1a;conda config --show chann…

万界星空科技MES系统中的车间管理的作用

在了解mes生产管理系统的作用包括哪些方面之前&#xff0c;我们先来了解一下作为生产管理信息化的关键部分&#xff0c;车间管理系统包含哪几个部分&#xff1a;一、mes系统中的车间管理通常包含以下部分&#xff1a; 1、设备管理&#xff1a;用于监控车间内的设备状态&#xf…

新规正式发布 | 百度深度参编《生成式人工智能服务安全基本要求》

2024年2月29日&#xff0c;全国网络安全标准化技术委员会&#xff08; TC260 &#xff09;正式发布《生成式人工智能服务安全基本要求》&#xff08;以下简称《基本要求》&#xff09;。《基本要求》规定了生成式人工智能服务在安全方面的基本要求&#xff0c;包括语料安全、模…

游戏中主流的护甲计算

文章目录 1、护甲1.1、主流的护甲函数1.2、护甲穿透1.3、护甲穿透&#xff08;按百分比&#xff09;1.3、格挡 2、攻速和DPS3、暴击3.1、暴击率3.2、暴击伤害 4、最后一题 1、护甲 1.1、主流的护甲函数 当护甲>0时&#xff0c;护甲函数如下&#xff1a; 伤害减免 1 − 1 …

springboot整合shiro的实战教程(二)

文章目录 整合思路1.创建springboot项目2.引入依赖3.创建Shiro Filter0.创建配置类1.配置shiroFilterFactoryBean2.配置WebSecurityManager3.创建自定义Relm4.配置自定义realm5.编写控制器跳转至index.html6.加入资源的权限控制7. 常见过滤器 登录认证实现登录界面开发controll…