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

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

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

目录

1.AI感知组件

 2.AI感知更新的函数

3.攻击范围 

4.散弹技能

4.1创建发射物i

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动画通知实现攻击

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

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

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

相关文章:

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

2-20 怪物视野、AI感知、攻击范围、散弹技能_哔哩哔哩_bilibili 目录 1.AI感知组件 2.AI感知更新的函数 3.攻击范围 4.散弹技能 4.1创建发射物i 4.2创建远程攻击方式 4.3散弹自定义事件的实现 4.4动画通知实现攻击 1.AI感知组件 为怪物蓝图添加AI感知组件&#xff0c…...

【 ElementUI 组件Steps 步骤条使用新手详细教程】

本文介绍如何使用 ElementUI 组件库中的步骤条组件完成分步表单设计。 效果图: 基础用法​ 简单的步骤条。 设置 active 属性,接受一个 Number,表明步骤的 index,从 0 开始。 需要定宽的步骤条时,设置 space 属性即…...

MQTT从入门到精通之 MQTT 客户端编程

MQTT 客户端编程 1 在VUE中使用MQTT 具体步骤如下所示: 1、初始化vue项目 // 创建一个使用vite构建的前端项目 npm create vitelatest// 进入到项目中,执行如下命令安装项目依赖 npm install 2、安装element plus // 安装element plus npm install …...

数据结构-集合

一.集合的表示 一个重要的操作是查某个元素属于哪个集合,另一个操作是合并操作 从这个树的节点去找树根也就是从下往上找,要把树并起来只需把两个根并在一起就可以了 不存在已知一个节点去找孩子节点,根重要的是已知一个节点找它的父亲节点,与之前的二…...

前端 JS面向对象 原型 prototype

目录 一、问题引出 二、prototype原型对象 三、小结 四、constructor 五、__proto__对象原型 六、原型链 一、问题引出 由于JS的构造函数存在内存浪费问题: function Star(name,age){this.namenamethis.ageagethis.singfunction () {console.log("唱歌&…...

Java中的不可变集合:性能与安全并重的最佳实践

Java中的不可变集合:性能与安全并重的最佳实践 在现代软件开发中,集合类(如List、Set和Map)是Java开发者的日常工具。它们用于存储和操作数据,能极大地简化开发工作。但随着并发编程和大规模应用的广泛使用&#xff0…...

RandomWords随机生成单词

from random_words import RandomWords rw RandomWords() r rw.random_word() print(r) 更多How to use — random_words documentation (randomwords.readthedocs.io) li LoremIpsum()# 这行代码创建了一个 LoremIpsum 类的实例。li.get_sentence()# 这个方法返回一个随机…...

从零开始使用Intel的AIPC使用xpu加速comfyui

Intel的AIPC使用xpu加速跑comfyui 环境安装python环境搭建驱动及oneAPI安装创建python环境验证环境是否生效 ComfyUI的安装下载、汉化comfyui下载checkpoint 测试使用xpu加速测试使用cpu执行测试 环境安装 python环境搭建 直接下载Anaconda 下载地址 安装好后,通…...

PyQt入门指南五十二 版本控制与协作开发

在开发PyQt应用程序时,版本控制和协作开发是提高开发效率和项目可维护性的重要手段。本指南将介绍如何使用Git进行版本控制,以及如何使用GitHub进行协作开发。 版本控制基础 Git简介:Git是一种分布式版本控制系统,用于跟踪代码变…...

思考:linux Vi Vim 编辑器的简明原理,与快速用法之《 7 字真言 》@ “鱼爱返 说 温泉啊“ (**)

Linux vi/vim | 菜鸟教程 https://zhuanlan.zhihu.com/p/602675406 Linux Vim编辑器的基本使用_vim文本编辑器-CSDN博客 这里提出使用 vi / vim 进行简单的编辑操作的原因,主要是在容器镜像中,普遍都是使用这个。 在 linux 服务器应用场景&#x…...

共筑开源技术新篇章 | 2024 CCF中国开源大会盛大开幕

在这个技术革新日新月异的时代,开源精神如同点燃创新火焰的火种,照亮了无数技术探索者的征途。2024年11月9日,备受瞩目的2024 CCF中国开源大会在深圳这座充满活力的创新之城盛大开幕。这场开源领域的顶级盛事,以“湾区聚力 开源启…...

SpringBoot(十八)SpringBoot集成Minio

项目上传文件集成一下Minio,下面是我在项目中集成Minio的全过程。 首先介绍一下Minio:MinIO是高性能的对象存储,单个对象最大可达5TB。适合存储图片、视频、文档、备份数据、安装包等一系列文件。是一款主要采用Golang语言实现发开的高性能、分布式的对象存储系统。客户端支…...

ODOO学习笔记(3):Odoo和Django的区别是什么?

Odoo和Django都是基于Python的开源框架,但它们的设计目标和用途有所不同: 设计目标和用途: Odoo:Odoo是一个企业资源规划(ERP)系统,它提供了一套完整的商业管理软件,包括会计、库存…...

持续收集解决VCcode各种报错的方法

在学习中我们经常会发生各种各样的报错, 1、pip 安装失败的报错 类似下面的 我们有时候纠结在上面会纠结好久,浪费很多时间。(什么轮子我不知道) 常见的解决方法: s-1:先uninstall packing,再重新装一次(有时候会重…...

Windows下使用adb实现在模拟器中ping

文章目录 前言安装adb执行adb命令查找模拟器设备链接模拟器命令行执行ping命令 总结 前言 有时在模拟器中测试应用不像在Windows这种开发环境中那么方便,毕竟Windows或者Linux下的工具五花八门,可以满足各种测试需求,比如应用在模拟器中无法…...

c++之deque和priority_queue

Deque 文档&#xff1a;https://legacy.cplusplus.com/reference/deque/deque/?kwdeque 相关接口&#xff1a; push_back():在尾部插入 #include <iostream> #include <deque>int main () {std::deque<int> mydeque;int myint;std::cout << "…...

SDL渲染器和纹理

文章目录 渲染器 (SDL_Renderer)纹理 (SDL_Texture)代码 渲染器 (SDL_Renderer) &#xff1a;它是渲染内容的接口&#xff0c;负责将内容绘制到窗口中。通过SDL_CreateRenderer创建&#xff0c;可以设置渲染器的背景颜色、绘图颜色、透明度等。所有绘图操作&#xff08;如绘制…...

基于Matlab 火焰识别技术

课题介绍 森林承担着为人类提供氧气以及回收二氧化碳等废弃气体的作用&#xff0c;森林保护显得尤其重要。但是每年由于火灾引起的事故不计其数&#xff0c;造成重大的损失。如果有一款监测软件&#xff0c;从硬件处获得的图像中监测是否有火焰&#xff0c;从而报警&#xff0…...

Qt 监控USB设备的插入和移除

Qt 监控USB设备的插入和移除 flyfish Ubuntu22.04 Qt 6.2.4 CMakeLists.txt 内容 # 指定 CMake 的最低版本要求 cmake_minimum_required(VERSION 3.16)# 定义项目的名称和使用的编程语言 project(USBMonitor LANGUAGES CXX)# 开启自动 UIC&#xff0c;MOC 和 RCC 工具 set(…...

终于弄懂了Python自定义模块与代码复用

自定义模块与代码复用 在编写Python代码时&#xff0c;很多时候我们会遇到需要多次使用相同功能的情况。这时候&#xff0c;模块化编程就显得尤为重要。通过将常用的功能代码放入单独的模块中&#xff0c;我们可以轻松地进行代码复用&#xff0c;避免重复编写相同的代码&#…...

摆脱论文困扰!盘点2026年口碑爆棚的的AI论文写作软件

一天写完毕业论文在2026年已不再是天方夜谭。最新测评显示&#xff0c;2026年AI论文写作软件凭借强大功能&#xff0c;彻底颠覆传统写作方式&#xff0c;覆盖选题、查重、润色、排版等全流程&#xff0c;实测效率提升超300%&#xff0c;让你高效搞定论文&#xff0c;轻松应对学…...

中国铁路 12306|基于springboot + vue中国铁路 12306购票管理系统(源码+数据库+文档)

中国铁路 12306购票管理系统 目录 基于springboot vue中国铁路 12306购票管理系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue中…...

Java基础-初识Java

SUN公司是一家什么样的公司? 美国SUN(Stanford University Network)公司在中国大陆的正式中文名为“太阳计算机系统&#xff08;中国&#xff09;有限公司”在中国台湾中文名为“升 阳电脑公司”。 Java为什么被发明? Green项目。应用环境&#xff1a;像电视盒这样的消费类电…...

告别临时表!MySQL8窗口函数优化复杂统计查询的3种典型方案

MySQL8窗口函数实战&#xff1a;3种替代临时表的高效统计方案 在数据分析与报表生成场景中&#xff0c;开发人员经常需要处理复杂的多维度统计需求。传统解决方案往往依赖临时表和多次查询拼接&#xff0c;不仅代码冗长&#xff0c;还存在显著的性能瓶颈。MySQL8引入的窗口函数…...

掌握Python自动化抢票:开源工具助你高效获取演唱会门票

掌握Python自动化抢票&#xff1a;开源工具助你高效获取演唱会门票 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 在演出票务竞争日益激烈的当下&#xff0c;手动抢票已难以应对毫秒级的抢票环境…...

跨平台工具链部署指南:Rust工具集多系统安装与配置实践

跨平台工具链部署指南&#xff1a;Rust工具集多系统安装与配置实践 【免费下载链接】coreutils 跨平台的 Rust 重写 GNU 核心工具集。 项目地址: https://gitcode.com/GitHub_Trending/co/coreutils 基础安装篇&#xff1a;三步完成跨平台部署 零依赖极速部署&#xff…...

OpenClaw语音控制之语音命令识别系统架构详解

5.1 系统架构总览5.1.1 整体架构OpenClaw 语音命令识别系统是一个基于事件驱动的实时语音处理平台&#xff0c;核心设计目标是实现低延迟、高可靠的语音交互能力。系统采用模块化架构&#xff0c;各组件通过明确定义的接口进行通信&#xff0c;支持多种电话服务提供商&#xff…...

图像处理中的NCC算法:从原理到优化(附Python实现对比)

图像处理中的NCC算法&#xff1a;从原理到优化&#xff08;附Python实现对比&#xff09; 在计算机视觉领域&#xff0c;模板匹配是一项基础而重要的技术。想象一下这样的场景&#xff1a;你正在开发一个工业质检系统&#xff0c;需要在流水线上快速识别产品上的特定标识&#…...

RCE漏洞小结

RCE漏洞简介 所谓RCE漏洞&#xff0c;即Remote Code/Command Execution&#xff0c;远程代码执行和远程命令执行漏洞。在很多Web应⽤中&#xff0c;开发⼈员会使⽤⼀些函数&#xff0c;这些函数以⼀些字符串作为输⼊&#xff0c;功能是将输⼊的字符串当作代码或者命令来进⾏执…...

Wan2.2-I2V-A14B在微信小程序开发中的应用:实时图片转视频功能实现

Wan2.2-I2V-A14B在微信小程序开发中的应用&#xff1a;实时图片转视频功能实现 1. 引言 "一张照片能变成视频吗&#xff1f;"这是很多社交类小程序用户常有的疑问。想象一下&#xff0c;用户在电商小程序上传商品图片后&#xff0c;系统自动生成一段展示视频&#…...