18.UE5怪物视野、AI感知、攻击范围、散弹技能

2-20 怪物视野、AI感知、攻击范围、散弹技能_哔哩哔哩_bilibili

目录

1.AI感知组件

 2.AI感知更新的函数

3.攻击范围 

4.散弹技能

4.1创建发射物

4.2创建远程攻击方式

4.3散弹自定义事件的实现

4.4动画通知实现攻击


1.AI感知组件

为怪物蓝图添加AI感知组件,并在游戏中显示AI感知的范围

第一步在怪物总类蓝图中添加AI感知组件

 并在AI感知的设置面板中,为怪物添加视力配置

设置如下:视线半径为怪物的发现距离,失去视线半径:脱离仇恨的距离,让视野中即检测敌方,又检测中立和友方;

 运行游戏,按单引号键,进入调试模式,按小键盘1,2取消显示AI和行为树,按3显示AI感知,看看怪物是否出现了,绿色的仇恨范围,和紫色的脱离仇恨范围的圈。

 2.AI感知更新的函数

重载AI感知更新的函数,实现AI看到玩家时执行走向玩家并攻击。这里的逻辑和之前玩家攻击怪物吸引仇恨很类似,当时时攻击怪物,给怪物行为树的黑板添加玩家目标,这里是AI感知组件更新时,将AI感知到的结果集遍历取出,如果能够转换为玩家,则在怪物行为树的黑板上添加玩家目标。

首先在单机I感知组件,并选择重载感知更新时的函数。

 函数逻辑如下,几乎和仇恨吸引怪物逻辑一样。

编译运行、玩家走到怪物面前时,也会走上前攻击

3.攻击范围 

通过向结构体中添加新的变量,攻击方范围,让怪物在生成时具备不同的攻击范围。

添加浮点类型的攻击范围

 在数据表格中填充数据,让怪物003使用远程攻击

在怪物蓝图的构造函数中,读表为攻击范围赋值:

打开AI行为树,并双击进入下面的节点

 将怪物的攻击距离传给AI MOVE TO的可接受半径参数,即可

 编译、运行游戏,怪物会在半径700像素的地方,凭空挥舞法杖。

4.散弹技能

4.1创建发射物i

 复制01火球发射物,并命名为02雷球

编辑重叠事件,当重叠对象为我们的主角时,才进行应用伤害

 应用的伤害为,施法者的攻击力

 

4.2创建远程攻击方式

通过数据表格的方式实现不同怪物的攻击方式,在结构体中添加变量,类型为动画蒙太奇

  随便选择一个动画序列,创建怪物远程攻击的动画蒙太奇

近战怪使用近战的攻击蒙太奇

远程怪使用远程蒙太奇

在怪物总类构造函数中,读表,并将读表的攻击方式,提升为蓝图变量,也命名为攻击方式

随后打开怪物总类蓝图的图表,将变量攻击方式赋值给我们普通攻击函数中播放的蒙太奇中。

4.3散弹自定义事件的实现

创建自定义事件:怪物远程攻击散弹枪

观察下面的图表,看似吓人其实很简单,就是在生成雷球的时候,在yaw上做一个+-20度的偏移,总共生成三个雷球,呈现扇形打出去的效果

三个球的实现效果具体如下

4.4动画通知实现攻击

为我们的怪物远程攻击添加动画通知

 并使用动画通知,调用我们的怪物蓝图的自定义事件:怪物远程攻击造成伤害,这个事件在马上实现

编译、运行。至此实现,散弹效果 !

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

单片机智能家居火灾环境安全检测

目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 在现代社会,火灾安全始终是人们关注的重点问题。随着科技的不…

安全见闻1-5

涵盖了编程语言、软件程序类型、操作系统、网络通讯、硬件设备、web前后端、脚本语言、病毒种类、服务器程序、人工智能等基本知识,有助于全面了解计算机科学和网络技术的各个方面。 安全见闻1 1.编程语言简要概述 C语言:面向过程,适用于系统…

【计算机网络】TCP协议特点3

心跳机制 什么是心跳机制 心跳机制是在计算机系统、网络通信和许多其他技术领域广泛应用的一种机制,用于检测两个实体之间的连接是否仍然活跃,或者设备是否还在正常运行。就是每隔一段时间发送一个固定的消息给服务端,服务端回复一个固定…

HarmonyOs DevEco Studio小技巧31--画布组件Canvas

那天我们用画布实现了文字颜色的渐变,实际上画布还有很多好玩的功能,接下来让我们一起试一下画布怎么玩 Canvas 提供画布组件,用于自定义绘制图形。 接口 Canvas Canvas(context?: CanvasRenderingContext2D | DrawingRenderingContext…

蓝桥杯每日真题 - 第10天

题目:(班级活动) 题目描述(14届 C&C B组C题) 解题思路: 题目要求我们找到最小的修改次数,使得任意一名同学的 ID 都与另一名同学的 ID 不相同。可以总结出这是一个寻找“重复数字最少修改…

HTML5实现俄罗斯方块小游戏

文章目录 1.设计来源1.1 主界面1.2 皮肤风格1.2 游戏中界面1.3 游戏结束界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/143788449 HTML5实现俄罗斯方块小游戏&#x…

外网访问 WebDav 服务

从外部网络环境(比如异地和家中网络)来访问公司内网的 WebDav 服务(基于 IIS )并映射成本地虚拟磁盘。 步骤如下 第一步 在公司内网的电脑上设置 webDav。 1,找到【控制面板】,双击进入。 2&#xff0c…

深度学习每周学习总结J5(DenseNet-121 +SE 算法实战与解析 - 猴痘识别)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 0. 总结 数据导入及处理部分:本次数据导入没有使用torchvision自带的数据集,需要将原始数据进行处理包括数据导入…

【玩具蛇——DFS】

题目 代码 #include <bits/stdc.h> using namespace std; int g[5][5]; int dx[] {0, 0, -1, 1}, dy[] {-1, 1, 0, 0}; int ans; void dfs(int x, int y, int t) {g[x][y] t;if (t > 16){ans;g[x][y] 0;return;}for (int i 0; i < 4; i){int nx x dx[i], n…

STM32 串口输出调试信息

软硬件信息 CubeMX version 6.12.1Keil uVision V5.41.0.0 注意 串口有多种&#xff1a; TTL232485 串口的相关知识&#xff1a; 01-【HAL库】STM32实现串口打印&#xff08;printf方式) &#xff0c; 内含 TTL 和 232 区别。 我把 232 串口连进 STM32 串口助手收到的信息…

spring-data-elasticsearch 3.2.4 实现桶bucket排序去重,实现指定字段的聚合搜索

一、背景 es索引有一个文档CourseIndex&#xff0c;下面是示意: creatorIdgradesubjectnameno1002270英语听力课程一N00232DS91004380数学口算课程N00209DK71003480物理竞赛课程N00642XS21002280英语听力课程二N00432WS31002290英语听力课程三N002312DP5 在搜索的时候&#…

内容占位符:Kinetic Loader HTML+CSS 使用CSS制作三角形原理

内容占位符 前言 随着我们对HTML和CSS3的学习逐渐深入&#xff0c;相信大家都已经掌握了网页制作的基础知识&#xff0c;包括如何使用HTML标记构建网页结构&#xff0c;以及如何运用CSS样式美化页面。为了进一步巩固和熟练这些技能&#xff0c;今天我们一起来完成一个有趣且实…

【OH】openHarmony开发环境搭建(基于windows子系统WSL)

前言 本文主要介绍基于windows子系统WSL搭建openHarmony开发环境。 WSL与Vmware虚拟机的区别&#xff0c;可以查看WSL与虚拟机的区别 更详细的安装配置过程可参考微软官网&#xff1a; ​安装 WSL 前提 以下基于windows 111专业版进行配置&#xff0c;windows 10应该也是可以…

深入理解 source 和 sh、bash 的区别

1 引言 在日常使用 Linux 的过程中&#xff0c;脚本的执行是不可避免的需求之一&#xff0c;而 source、sh、bash 等命令则是执行脚本的常用方式。尽管这些命令都能运行脚本&#xff0c;但它们之间的执行方式和效果却有着显著的区别。这些区别可能会影响到脚本的环境变量、工作…

LogViewer NLog, Log4Net, Log4j 文本日志可视化

LogViewer 下载 示例&#xff1a;NLog文本日志可视化软件&#xff0c;并且能够实时监听输出最新的日志 nlog.config 通过udp方式传输给LogViewer (udp://ip:port) <?xml version"1.0" encoding"utf-8" ?> <nlog xmlns"http://www.nlog-…

探索 HTML 和 CSS 实现的蜡烛火焰

效果演示 这段代码是一个模拟蜡烛火焰的HTML和CSS代码。它创建了一个具有动态效果的蜡烛火焰动画&#xff0c;包括火焰的摆动、伸缩和光晕的闪烁。 HTML <div class"holder"><div class"candle"><div class"blinking-glow"&g…

vue3【实战】切换全屏【组件封装】FullScreen.vue

效果预览 原理解析 使用 vueUse 里的 useFullscreen() 实现 代码实现 技术方案 vue3 vite UnoCSS vueUse 组件封装 src/components/FullScreen.vue <template><component:is"tag"click"toggle":class"[!isFullscreen ? i-ep:full-sc…

GPT-5 要来了:抢先了解其创新突破

Microsoft 的工程师计划于 2024 年 11 月在 Azure 上部署 Orion (GPT-5)。虽然这一版本不会向公众开放&#xff0c;但其上线被视为人工智能领域的一个重要里程碑&#xff0c;并将产生深远的影响。 文章目录 GPT-5 真的要来了GPT-4 的局限性GPT-5 的创新突破与遗留挑战GPT-5 预期…

C++【深入项目-检测键盘】

神马是检测键盘&#xff0c;就是让编辑器可以检测键盘按下了什么按键&#xff0c;我们先科普复习检测键盘 。 检测键盘需要用到一些函数&#xff0c;请见下&#xff1a; ! KEY_DOWN( 80 ) 这个代码是检测按下键盘上P按键。那80是什么&#xff1f;原来是对应按键的&#xff0…

springboot的依赖实现原理:spring-boot-starter-parent解析

01 dependencyManagement的作用 在使用springboot时我们会在项目pom引入以下配置和依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.18</version> &l…