UE5——AI篇(一)

这篇具有很好参考价值的文章主要介绍了UE5——AI篇(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1:创建ai蓝图类

让怪物按照我们定义的逻辑运动,需要为怪物增加AI控制器,创建一个怪物AI控制器蓝图类:

ue5 ai,ue5

2:为需要被ai控制的蓝图装上ai控制器

创建之后在需要被AI控制的蓝图中的细节面板中搜索AI,将我们刚刚创建的控制器作为这个蓝图的控制器:

ue5 ai,ue5

 这时就可以在AI控制器中写逻辑了

一般在其中添加运行行为树节点,然后创建一个行为树,在行为树中写AI逻辑,也就是想让怪物怎么运动:

ue5 ai,ue5

3:创建行为树

ue5 ai,ue5

 如上操作完成后,在行为树中写移动逻辑

比如想让怪物在没看到主角时随机游荡,看到主角后向主角方向移动

4:ai感知组件

首先在怪物蓝图中添加组件:ai感知组件

然后调其参数:
ue5 ai,ue5

然后往下滑找到组件的事件分发器:

ue5 ai,ue5

可以在此写上逻辑,比如

 ue5 ai,ue5

 首先循环一波,将输出的对象判断是否为主角,如果是,就将主角设为黑板键

黑板在行为树中创建,黑板具体的作用:
ue5 ai,ue5

 这里需要的应该是存储信息的作用,存储了主角这个角色信息,方便后面对目标角色进行处理

黑板可以设置键值,后面设置一个键值为目标玩家,目的是为了将黑板作为一个判断条件去执行,如果有目标玩家就执行,没有就执行下一个。

有时候找不到黑板键在哪创建,可能是因为创建黑板键的窗口隐藏了,在窗口界面找一下应该就能发现:如下:

ue5 ai,ue5

5:行为树逻辑

先看行为树:

ue5 ai,ue5

在根出创建一个选择器,行为树的执行顺序是从上往下,从左往右,所以左边先执行,也就是如果附近没有主角,怪物不向主角移动。这时就执行随机移动那边的逻辑

黑板的作用是当做条件,首先把黑板键改成目标玩家,如果ai感知器事件更新,也就是怪物视野中出现主角,黑板的条件就会变成真,也就是会执行下面的逻辑

如果附件在感知范围内有主角,就会执行怪物向玩家移动,再攻击主角。

6:怪物朝目标移动

具体逻辑:

ue5 ai,ue5

 这里的instigator是怪物的pawn类引用(应该是,不太懂),拿到pawn后转换为角色总类,因为后面需要判断怪物的状态,也就是是否已死亡或者处于被击中,只用这个instigator肯定是拿不到这些状态数据的,所以需要类型转换,转换完后创建一个变量,这里名字先叫ai自己,变量类型设置为角色总类的数据类型,创建此变量的目的是方便后面拿到角色数据,不用每次都先获取instigator再类型转换。

往下:

ue5 ai,ue5

 直接拉出ai自己,获取他的状态,如果没有死亡或者没有被打,就进行下面的逻辑,否则直接结束了。

 如果判断要继续执行,那么拉出ai move to节点,就是怪物要移动到哪

ue5 ai,ue5

 输入的pawn就是之前创建的instigator,直接拉过来就行。下面的destination是移动的目的地
捋一下:需要怪物在看到玩家后向玩家移动,并且要在能打到玩家的地方停下来,然后实现对主角的击打动作,然后完成执行,进行下一次。

具体如下:

ue5 ai,ue5

 这里的变量目标玩家是创建的变量,类型选择黑板键值方便后面获取怪物的目标

拉出将黑板值作为actor获取,这样就能拿到目标的actor,然后获取其位置,将这个位置加上怪物的攻击距离。怪物的攻击距离是一个浮点值,因此需要再获取怪物的向前向量,将这个向量乘以距离这个值,最后将加起来的结果连到destination上,在将下面的半径设置为75,因为75是怪物攻击距离,这样到达攻击距离就停止了下来,这个半径是值停止执行的半径,所以将其设置为0是一样的效果,但大于半径就会导致怪物走到主角面前就停止了,因为没达到攻击距离攻击不了

最后在判断一下,如果角色本身已经处于怪物攻击距离内了,就可以不用移动,就是立即停止移动,否则就继续执行aimoveto的内容了:
ue5 ai,ue5

最后补充:要让怪物进行ai移动,还需要设置可导航的范围:

ue5 ai,ue5

这个放置出来之后就可以调整ai导航寻路范围了

 到这怪物向玩家移动的逻辑暂时完成文章来源地址https://www.toymoban.com/news/detail-835049.html

到了这里,关于UE5——AI篇(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UE5】vsCode 调试 UE5 PuerTs

    配置PuerTs的步骤这里不赘述。 2.1 打开项目 正常来说,直接打开项目可以看到如下画面 如果直接点击运行,可以发现下方的 Output Log 窗口已经开始 Print 了很多案例。 是因为该项目默认执行的是QuickStart.ts。 2.2 打开TsGameInstance.cpp 3.1 在VsCode找到QuickStart.ts,随便断一个点 (这里

    2023年04月09日
    浏览(38)
  • 【UE5】解决UE5无法播放mp4视频

    最近接手的项目需要把项目从UE4中迁移至UE5.0,其中遇到了一个mp4视频无法播放的bug,这里做一下记录。 在官方论中有提到过这个bug,https://forums.unrealengine.com/t/media-textures-wont-display-video-in-ue5-preview-1-while-using-directx-12/503980/2 按照常规的方法播放视频在MediaPlay的Play节点会返回

    2024年01月17日
    浏览(60)
  • UE5学习笔记(1)——从源码开始编译安装UE5

    0.1 在windows的话,建议装一个Git bash,同时还要有自己的github账号,注册github账号这里就不再赘述了,安装git bash后,设置自己的github账号。或者在windows装一个WSL。 0.2 把自己的github账号关联Epic官方,必须关联之后才能下载Unreal的源码。关联方式见官方教程 0.3 安装VS 2022,这里

    2024年02月08日
    浏览(55)
  • 【UE5】如何在UE5.1中创建级联粒子系统

    1. 可以先新建一个actor蓝图,然后在该蓝图中添加一个“Cascade Particle System Component” 2. 在右侧的细节面板中,点击“模板”一项中的下拉框,然后点击“Cascade粒子系统(旧版)” 然后就可以选择在哪个路径下创建级联粒子系统了

    2024年02月06日
    浏览(39)
  • 【UE】UE5 学习笔记

    快捷键 快捷键 描述 F 定位关一卡对象:双击游戏对象名字或选游戏对象名字 鼠标中键 移动视野 alt+鼠标左键移 旋转视野 滑动鼠标滚轮 缩放视野 alt+鼠标右键拖动鼠标 缩放视野 鼠标左键移动鼠标 前后漫游 WASD+鼠标右键 自由漫游 漫游时滑动鼠标滚轮 调节漫游速度 选中要克隆

    2023年04月14日
    浏览(56)
  • 【UE5】UE5与Python Socket通信中文数据接收不全

    最近在使用UE的Socket模块与Python服务器进行通信时遇到了一些坑,特此记录一下。 先来复现一下问题,这里只截取关键代码。 UE端: Python端: 运行结果: UE端发送的数据: Python端接收到数据: 可以看到数据容量并没有超出缓存上限,且Python端接收的数据都有做utf-8的编码转

    2024年02月14日
    浏览(42)
  • (最新详细下载UE5教程)学习UE5的第一步;下载Epic及从Epic中选取相关引擎及启动UE5/day.1

    虚幻引擎5是EPIC于2020年公布的第五代游戏引擎,其实吧吧啦吧啦这么多毛用也没有,大伙也知道这些东西,不知道的也不会想学😃。 那么,就进入正题吧! 各位玩游戏吗?玩的话那肯定知道EPIC,也就是各大玩友戏称为“E宝”的游戏商店;(如果你下载了的话直接跳到第二

    2023年04月10日
    浏览(53)
  • UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB)

    目录 一、UE4显示Echart图表 二、UE调用JS(修改Echart图表数据) 三、JS调用UE(UE4中打印js传递过来的数据) 步骤: 1.下载WEBUI插件 我的UE编辑器版本是4.24.3对应版本的插件下载地址是 webui 插件:链接:https://pan.baidu.com/s/1vaZiqre8K2GEueVJOtZ2fA?pwd=xsby  提取码:xsby  下载后解压放到

    2024年03月20日
    浏览(37)
  • UE4/UE5 动画控制

    工程下载 ​ ​​​​​​​​​​​​​https://mbd.pub/o/bread/ZJ2cm5pu   蓝图控制sequence播放/倒播动画: 设置开启鼠标指针,开启鼠标事件 在场景中进行过场动画制作 设置控制事件

    2024年02月09日
    浏览(55)
  • ue5材质预览界面ue 变黑

    发现在5.2和5.1上都有这个bug 原因是开了ray tracing引起的,这个bug真是长时间存在,类似的bug还包括草地上奇怪的影子和地形上的影子等等 解决方法也很简单,就是关闭光追(不是…… 就是关闭预览,在材质界面preview scene settings中让其不显示背景环境就可以了 结果如下,预览

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包