当前位置: 首页 > news >正文

虚幻5|AI行为树,进阶篇

一,打开敌人的角色蓝图,编写以下蓝图,该蓝图只是创建一个敌人并非ai行为树

1.编写蓝图


 

2.打开主界面,创建一个导航网格体积,上一章都有讲,在添加体积这里面,找到导航网格体积,点击创建,自己弄范围,可以看到,我图下是绿色的就行了

3.运行一下,可以发现角色移动到玩家,并进行攻击

二,创建以下,基础篇有讲

第一个是ai控制器,第二个是黑板,第三个是task任务,第四个是AI行为树

其中,黑板和task是在AI行为树里创建的

注意敌人的角色蓝图,点击类默认,选择我们创建的ai控制器

打开我们上一章建立的ai_tree

1.打开黑板,创建一个变量名为AttackTarget,并在右侧黑板细节处,打开键类型,基类选择Actor

定位目标

回到行为树,创建一个moveto并命名为MovetoTaget,选中它并右侧细节,黑板键选择我们刚刚创建的变量

2.打开我们创建的ai控制器

3.编写以下蓝图,注意选择对应的ai行为树

4.在变量ai处,拖出blackboard变量,编写以下蓝图,紫色那块是拖出来提升为变量的

记得命名

5.我们把之前创建好的object变量的命名复制粘贴到,key name的变量里,选中我们这变量

6.添加以下蓝图

三,尝试一下只使用ai行为树,打开敌人的角色蓝图断开事件触发链接,可以发线角色只追着玩家

这里的Attack,不要断掉,我这里错了

四.打开我们在ai行为树创建好的task

1.这是我们上一章ai行为树讲的ai巡逻,我们段开事件触发链接

2.打开敌人的角色蓝图

添加一个事件分发器 OnAttackEnd

再把刚创建的事件分发器放播放蒙太奇之后调用

3.回到我们的task,事件执行触发链接如下

如果没有事件触发器就会,导致敌人攻击的时候会卡在的行走和攻击之中

4.打开我们的ai行为树

链接我们的task

这个可以不选,目前不起什么作用,我们没有在黑板设置attack变量,优先级比较次,

好的我们运行就可以很流畅的攻击主角了

我们可以加一个wait,打完后停一下

如果你没有给敌人添加npc的头部旋转看向主角的操作,那么你的敌人会背对着打你,我们需要以下操作

五,让敌人精准打击主角

1.继续在我们的ai行为树里,创建一个task,蓝图基础的task,命名为BTTask_FocusTaget

2.打开后,创建一个变量,注意该变量的引用类型设置一下,我们还要选中该变量,在右侧细节栏,处把默认改为键或者输入英文keys,并勾选可编辑实例

编写以下蓝图时注意success要勾选

为了更好的设置敌人的转向,如果你的敌人是复制的其他角色的蓝图,那么你需要更改一下它的控制器

如果敌人打到我们,那么敌人应该要扫射一下周围才进行追玩家

六,敌人扫射周围的创建

1.还是像之前创建task那样,创建一个蓝图基础,命名为BTTask_ClearFocus,不在敌人视野范围时

我这是已经创建了的

2.打开该task后

3.回到行为树

加上这个task

七,添加武器——非ai行为树版

1.给角色上武器

2.创建该武器的actor蓝图,创建一个静态网格体,选择该武器资产网格体,还要改它的碰撞预设为nocolistion

3.打开敌人的角色蓝图,给敌人附加武器,注意class,还有武器插槽和位置

在事件开始运行调用事件,运行游戏试试

好的,我们只断开事件开始运行

八,添加武器——ai行为树版

1.再来到ai行为树,再创建一个task,命名为BTTask_WieldSword,我这已经创建了

2.打开后,编写以下蓝图,调用之前的事件WieldSword

3.回到行为树,链接该task

为了能在跑的时候,不攻击,攻击的时候不移动,这样就更好了

九,给BTTask_WieldSword创建一个装饰器

1.打开ai行为树

左上角创建一个装饰器,命名为BTDecorator_isWieldingSword

2.打开后,在函数重载一个执行条件检测AI

3.打开敌人的角色蓝图,创建一个布尔,是否挥舞武器

4.设置附加武器的条件

5.回到我们的装饰器蓝图

6.打开行为树,右键对应的武器task,添加装饰器

6.点击装饰器,右侧翻转条件,以判断武器挥舞是否为假

如果它挥舞失败了,sequence后面的就不会执行了,但我们只是想判断这个条件而已,这就需要用到我们的selector,上一篇讲过其用法

我们就需要加一个selector判断条件,无论是否为真假,后面的都执行,而唯有自己为真执行自己,为假,自己单独不执行

结束,我们运行一下

相关文章:

虚幻5|AI行为树,进阶篇

一,打开敌人的角色蓝图,编写以下蓝图,该蓝图只是创建一个敌人并非ai行为树 1.编写蓝图 2.打开主界面,创建一个导航网格体积,上一章都有讲,在添加体积这里面,找到导航网格体积,点击创…...

在 Spring Boot 中配置 Tomcat 监听多个端口

在现代微服务架构中,应用程序可能需要监听多个端口,以支持不同的服务或协议。Spring Boot 提供了灵活的配置选项,使得这一需求变得简单而高效。本文将介绍如何在 Spring Boot 中配置 Tomcat 以监听多个端口,并简要说明其中一些关键…...

stm32f407新建项目工程及烧录

1、新建一个文件夹,打开keil5将项目工程放入文件夹中 2、弹出选择对应型号设备 3、弹出选择对应库 可以看见出现下图:感叹号表示有错 最后如图所示:点击ok就行了 4、创建对应的文件夹存放文件 4、建立main.c 5、添加对应的设置 最后写一个空白…...

c++中加不加const的值传递和引用传递的区别

文章目录 可以修改参数值的比较值传递(int x)和引用传递(int &x)使用const不修改参数值的比较值传递(const int x)和引用传递(const int &x)1. const int x 示例2. const int &x 示例 可以修改参数值的比较值传递(int x)和引用传递(int &x) #include <iost…...

Qt的窗口设置

本文介绍Qt的窗口设置。 采用Qt开发界面程序&#xff0c;会涉及到窗口的设置&#xff0c;如窗口标题栏是否显示&#xff0c;是否有最小&#xff0c;最大化按钮等&#xff0c;窗口当前显示最小化&#xff0c;最大化等。本文简要介绍常用的窗口设置方法。 1.窗口属性 窗口属性…...

51单片机-LCD1602显示屏

简介 是一个液晶显示屏&#xff0c;通过电压对显示区域进行控制&#xff0c;有电就显示。 能够同时显示32个字符&#xff0c;分为两行&#xff0c;一行显示16个字符。可以显示的内容只能是字母、数字或者一些特殊符号。 使用ASCII码来让LCD1602来显示对应的字符。 电路图 …...

多模态分析代理 MAIA:多智能体解决 视觉模型 黑盒问题

多模态分析代理 MAIA&#xff1a;多智能体解决 视觉模型 黑盒问题 论文&#xff1a;https://arxiv.org/pdf/2404.14394 代码&#xff1a;https://github.com/multimodal-interpretability/maia 提出背景 神经网络方法提取的特征&#xff0c;没有可解释性。 数据在通过多个层…...

AT360-6T杭州中科微单频高精度授时模块场景应用

AT360-6T是一款高性能多系统卫星定位授时模块&#xff0c;基于自主研发的北斗多系统SOC芯片&#xff0c;可以同时接收中国的BDS(北斗二号和北斗三号)、美国的GPS、俄罗斯的GLONASS、欧盟的 GALILEO 和日本的QZSS等多个卫星导航系统的GNSS信号来实现多系统联合定位授时&#xff…...

Python酷库之旅-第三方库Pandas(081)

目录 一、用法精讲 336、pandas.Series.str.rpartition方法 336-1、语法 336-2、参数 336-3、功能 336-4、返回值 336-5、说明 336-6、用法 336-6-1、数据准备 336-6-2、代码示例 336-6-3、结果输出 337、pandas.Series.str.slice方法 337-1、语法 337-2、参数 …...

C语言基础⑩——构造类型(结构体)

一、数据类型分类 1、基本类型 整数型 短整型&#xff1a;short&#xff08;2个字节&#xff09;&#xff1b;整型&#xff08;默认&#xff09;&#xff1a;int&#xff08;4个字节&#xff09;&#xff1b;长整型&#xff1a;long&#xff08;8个字节&#xff09;&#xf…...

宝兰德荣获openEuler项目群青铜捐赠人称号,共筑开源生态繁荣新篇章

近日&#xff0c;开放原子开源基金会正式公布了新增捐赠人名单&#xff0c;宝兰德凭借在开源领域的卓越贡献与深厚实力&#xff0c;被授予openEuler项目群青铜捐赠人称号。 开放原子开源基金会是致力于推动全球开源事业发展的非营利机构&#xff0c;于2020年6月在北京成立。开放…...

【Python单元测试】学习笔记3

文章目录 08.PyTest框架什么是PyTestPyTest的优点PyTest的测试环境PyTest常用参数跳过测试 09.PyTest fixture基础PyTest fixture定义和使用引用多个Fixture 10. conftest.pyconftest.py的用途 11. 参数化测试用例为什么需要参数化测试用例使用parameterizer插件实现使用pytest…...

OpenSSL源码编译及Debug

** 1. 环境 Linux 5.19.0-14-generic 22.04.1-Ubuntu 2. 所需工具 gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04) cmake version 3.22.1 3. 步骤 3.1 获取openssl源码 方法可以git clone获得源码&#xff0c;或者直接去GitHub上下载压缩包&#xff0c;GitHub网址&#xf…...

go之goburrow/modbus 学习

goburrow/modbus 是一个用Go语言实现的Modbus协议库&#xff0c;提供了Modbus主机&#xff08;Master&#xff09;和从机&#xff08;Slave&#xff09;的实现&#xff0c;支持两种主要的Modbus传输模式&#xff1a;Modbus TCP和Modbus RTU。 功能介绍 1. 支持的传输模式 Mod…...

开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)算法是什么?

开放词汇目标检测&#xff08;Open-Vocabulary Object Detection, OVOD&#xff09;算法是什么&#xff1f; 随着计算机视觉技术的快速发展&#xff0c;目标检测&#xff08;Object Detection&#xff09;已经在各种应用场景中得到了广泛的应用。然而&#xff0c;传统的目标检…...

【教程】Ubuntu给pycharm添加侧边栏快捷方式

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 以下教程不仅限于pycharm&#xff0c;其他软件也是一样操作 1、进入到pycharm的目录&#xff0c;先通过命令行打开pycharm&#xff1a; ./bin/pycharm…...

三个月外贸小白好迷茫,该何去何从?

最近看到一个共性的问题&#xff0c;也许对于大多数外贸新人来说&#xff0c;都有过这样的困扰和无力感&#xff0c;也许对于每一个没有强大背景的外贸小伙伴来说&#xff0c;可能都是这样一路成长起来的。 大家好&#xff0c;我是一名普通二本英专生&#xff0c;八月中旬入职…...

MySQL数据库——基本查询(Create)

CRUD&#xff1a;Create&#xff08;创建&#xff09;Retrieve&#xff08;读取&#xff09;Update&#xff08;更新&#xff09;Delete&#xff08;删除&#xff09; 1.Create ①单行数据全列插入 insert [into] table_name [(colume[,colume]……)] values (value_list) […...

spring-security-1-快速入门

1 功能 身份认证(authentication)授权(authorization)防御常见攻击 身份认证&#xff1a;常见账号密码登录&#xff0c;短信登录 授权&#xff1a;什么样的角色&#xff0c;能看见什么菜单&#xff0c;能访问哪些接口。 2 pom <dependency><groupId>org.springf…...

5 大场景上手通义灵码企业知识库 RAG

大家好&#xff0c;我是通义灵码&#xff0c;你的智能编程助手&#xff01;最近我又升级啦&#xff0c;智能问答功能全面升级至 Qwen2&#xff0c;新版本在各个方面的性能和准确性都得到了显著提升。此外&#xff0c;行间代码补全效果也全面优化&#xff0c;多种编程语言生成性…...

免费远程控制电脑的软件有哪些?

什么是远程控制&#xff1f; 远程控制是一种通过网络从一台设备操作另一台设备的技术。连接后&#xff0c;用户可以直接远程操作那台电脑进行各种操作。随着科技的不断进步和用户需求的增加&#xff0c;远程控制市场日益蓬勃。远程控制不仅应用于远程办公和远程教学&#xff0…...

Linux软件包yum

目录 Linux软件包管理器 yum关于rzsz注意事项查看软件包如何安装软件卸载命令 Linux开发工具Linux编辑器-vim使用1. vim的基本概念2. vim的基本操作3. vim正常模式命令集4. vim末行模式命令集5. vim操作总结 小彩蛋 Linux软件包管理器 yum 软件包 在Linux下安装软件&#xff…...

网页的切换与嵌套

网页的切换与嵌套 网页的切换 在浏览器窗口中如果点击超链接标签会在当前的浏览器窗口中显示新的数据&#xff0c;但有些超链接标签点击后却会在一个新的窗口显示数据&#xff0c;这种情况下就无法对新的开的窗口页面进行操作了。 基于这种情况&#xff0c;我们就需要使用dri…...

基于飞桨框架的稀疏计算使用指南

本文作者-是 Yu 欸&#xff0c;华科在读博士生&#xff0c;定期记录并分享所学知识&#xff0c;博客关注者5w。本文将详细介绍如何在 PaddlePaddle 中利用稀疏计算应用稀疏 ResNet&#xff0c;涵盖稀疏数据格式的础知识、如何创建和操作稀疏张量&#xff0c;以及如何开发和训练…...

启明云端WT32C3-S6物联网模块,乐鑫ESP32-C3芯片技术应用

随着物联网技术的飞速发展&#xff0c;智能设备在我们生活中的应用越来越广泛。从智能电网到远程医疗&#xff0c;从楼宇自动化到智能家居&#xff0c;这些技术正在改变我们的生活方式。 在这样的背景下&#xff0c;启明云端推出的WT32C3-S6 WiFi模块以其低功耗、高性价比的特…...

超越流水线,企业研发规范落地新思路

作者&#xff1a;子丑 内容大纲&#xff1a; 1、研发规范≠流程约束 2、自动化工具→研发规范载体 3、研发规范在工具上的落地示例 4、研发规范的选型方法与常见实践 研发规范≠流程约束 这个故事特别适合研发规范的场景&#xff0c;我们要避免成为把猫绑在柱子上的信众…...

财务会计与管理会计(四)

文章目录 月度数据统计分析OFFSET函数在图表分析中的应用 多种费用组合分析图SUMPRODUCT函数 省公司全年数据分析模板INDIRECT、OFFSET函数 多公司分季度数据筛选VLOOKUP、IFERROR函数的应用 淘宝后台数据分析OFFSET函数在跨表取数中的应用 燃气消耗台账数据统计分析图SUMPRODU…...

回归分析系列1-多元线性回归

03 多元线性回归 3.1 简介 多元线性回归是简单线性回归的扩展&#xff0c;允许我们同时研究多个自变量对因变量的影响。多元回归模型可以表示为&#xff1a; 其中&#xff0c;x1,x2,…,xp是 p 个自变量&#xff0c;β0 是截距&#xff0c;β1,β2,…,βp是对应的回归系数&…...

web小游戏开发:拼图——蜂巢拼图

web小游戏开发:拼图——蜂巢拼图 蜂巢拼图游戏规则调整选项切图计算六边形的宽和高铺上背景画出蜂巢制作图块游戏方法打乱排列拖拽图块开始拖拽拖拽移动放置图块小结蜂巢拼图 之前我们已经完成了长方形的拼图代码,包括了三个游戏方式,并讨论了带咬合齿的游戏代码该如何制作…...

springCloud集成activiti5.22.0流程引擎(分支)

springCloud集成activiti5.22.0流程引擎 点关注不迷路&#xff0c;欢迎再访&#xff01; 精简博客内容&#xff0c;尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 文章目录 springCloud集成activiti5.22.0流程引擎一.Sprin…...

徐州鸿美网站建设/网站分析案例

说实话&#xff0c;还真有点紧张 毕竟刚毕业一年吗&#xff0c;上一家公司 主要是入门&#xff0c;而且是行业软件。然而这家公司有些不同&#xff0c;电子商务&#xff0c;互联网转载于:https://www.cnblogs.com/haihang/p/3498753.html...

济南靠谱做网站公司/百度推广深圳分公司

Google 的 Git 源码库出现了一种新的操作系统叫 Fuchsia&#xff0c;目前有关新操作系统的信息很少&#xff0c;根据源码树&#xff1a;它使用的不是 Linux 内核而是叫 Magenta 的新内核&#xff1b;它的UI层使用的是 Dart 语言开发的 Flutter&#xff1b;渲染器是 Escher&…...

wordpress 统计/税收大数据

win7日志管理:查:计算机-----》管理---》系统工具---》事件查看器关闭日志功能(不建议这么做)&#xff1a;计算机-----》管理---》服务和应用程序---》服务---》找到Event_log---》鼠标右键---》停止故障小插曲&#xff1a;故障一&#xff1a;windows系统中突然出现打印机无法打…...

商城建站服务/东莞seo优化

下面由sublime教程栏目给大家介绍sublime自动修复eslint报错的方法&#xff0c;希望对需要的朋友有所帮助&#xff01;问题描述PyQt 环境正常&#xff0c;可以使用 Windows 的 虚拟 DOS 正常运行&#xff0c;但在 Sublime Text 2 下使用 Ctrl B运行后&#xff0c;界面不显示&a…...

网站 图标 素材/百度pc网页版登录入口

通过代码来实现判断每一个左括号是否都有与他能正确对应的右括号。 例子&#xff1a;( ( ) ( ( ) ) ( ) ) 我们可以通过观察发现&#xff0c;当出现第一个右括号的时候和他正确对应的左括号就是在他只出现之前的最后一个左括号&#xff0c;那么我们可以根据栈的&#xff08;后进…...

wordpress chuxia主题/个人模板建站

最近松松团队负责技术的同事任经理跟杰哥爆料&#xff0c;昨天整理公司域名偶然发现&#xff0c;各大域名商都没有.win顶级域名了&#xff0c;都将开始不在提供.win顶级域名服务&#xff0c;国内现有.win顶级域名也将转移到海外注册商。 根据松松团队任经理提供的阿里云通知显示…...