【UE5.1】NPC人工智能——01 准备NPC角色

效果

 

步骤

1. 之前我们已经创建了“BP_NPC”(见:【UE5.1 角色练习】06-角色发射火球-part2)

该蓝图继承于角色类 

我们在该蓝图中添加了两个方法和两个变量。方法一个是用于修改角色HP值的,另一个是在收到伤害后执行的逻辑。两个变量分别表示NPC当前的HP值和满HP值。

修改HP的函数“F_ChangeHP”逻辑如下。受到伤害的函数“F_AfterDamage”的逻辑还没写

当NPC受到伤害后执行如下逻辑

2. 接下来我们开始制作狮子NPC,在“AfricanAnimalsPack”资源包中找到狮子相关资产

将狮子的骨骼和骨骼网格体复制到项目文件夹

将狮子相关的动画也复制过来

为复制过来的骨骼网格体指定骨骼

选中复制过来的所有动画序列,然后替换骨架

替换为复制过来的骨骼

3. 找到我们之前制作的大象蓝图“Character_Elephant”(见:【UE5.1 角色练习】11-坐骑——Part1(控制大象移动)_ue5 character 四足动物)

复制一份,这里命名为“Character_Lion”

打开“Character_Lion”,在类设置中将父类改为“BP_NPC”

选中网格体组件,将骨骼网格体资产替换为狮子

删除“SkeletalMesh_Teeth”组件

编译后删除报错的节点

将胶囊体组件的半高和半径都改为很小,因为我们不用这个组件作为碰撞

新添加一个胶囊体组件用作狮子的碰撞

设置合适的大小和位置

4. 新建一个动画蓝图

这里命名为“ABP_Lion”

打开“ABP_Lion”,创建一个混合空间

这里命名为“BS_Lion_IdleRun”

5. 打开“BS_Lion_IdleRun”,设置水平坐标名称为“Direction”,设置垂直坐标名称为“Speed”

坐标轴中放置动画序列

6. 回到动画蓝图“ABP_Lion”中,添加如下三个变量

在事件图表中添加如下节点来设置上面三个变量的值

在动画图表中新建一个状态机,这里命名为“Default”

进入“Default”,添加一个状态,这里命名为“Idle/Run”

进入状态“Idle/Run”,将我们制作的混合空间“BS_Lion_IdleRun”作为该状态的输出动画姿势

7. 打开狮子的蓝图“Character_Lion”,设置动画类为上一步创建的动画蓝图

将狮子网格体的脚步与胶囊体平齐,这样狮子的脚部不会陷入地面

调整一下弹簧臂的位置

此时可以看到我们已经可以控制狮子进行移动

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

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

相关文章

AIGC爬虫类代码示例:Scrapy和OpenAI API实现抓取内容并生成内容

对于我从事爬虫行业多年的经验来说,编程各种需求代码真是非常吃力且细致的活,随着AI的大火,我在设想有没有可能通过AI自动化程序实现自动抓取生成想要的文本内容。前提我是打算通过结合爬虫技术(如Scrapy)和生成式AI模…

Affnity 值得购买吗?有Affinity 优惠码?

今年,Affinity 提供了全场 7 折优惠活动,这里包括桌面应用、插件、工作手册等内容,另外针对 iPad 应用提供更为给力的 5 折优惠!对于从事图形设计、排版的用户来说,由于 Affinity 的创意设计应用均采用了一次买断制&am…

如何在函数中使用return返回axios的请求结果

使用场景:在添加学生上课记录的时候,需要先获取学生的剩余课时,需要通过接口获取。所以需要封装一个方法,能够通过接口获取学生的课时数量。 解决方案:通过异步解决 封装方法的代码如下: const getStude…

Linux--安装VMware步骤

安装VMware VMware Desktop Hypervisors for Windows, Linux, and Mac 复制链接打开浏览器下载即可 从官网下载软件,完成后为确保后续正常使用,需要检查虚拟网卡是否安装完成 检查虚拟网卡的安装步骤 Windows--设置--高级设置--网络适配器--看是否有显…

浅谈后置处理器组件提取器相关的Apply to

浅谈后置处理器组件提取器相关的Apply to 在Apache JMeter中,“提取器”(通常指的是正则表达式提取器、JSON路径提取器或CSS/JQuery提取器等)是用来从服务器响应中提取信息的重要组件。这些信息可以是cookies、session IDs、特定的文本或者任…

Nuxt框架中内置组件详解及使用指南(五)

title: Nuxt框架中内置组件详解及使用指南(五) date: 2024/7/10 updated: 2024/7/10 author: cmdragon excerpt: 摘要:本文详细介绍了Nuxt框架中和组件的使用方法与配置,包括安装、基本用法、属性详解、示例代码以及高级功能如…

纹波电流与ESR:解析电容器重要参数与应用挑战

电解电容纹波电流与ESR(Equivalent Series Resistance)是电容器的重要参数,用来描述电容器对交流信号的响应能力和能量损耗。电解电容纹波电流是指电容器在工作时承受的交流信号电流,而ESR则是电容器内部等效电阻,影响…

tensorflow1.基础案例2

前言 在TensorFlow 1.x中实现线性回归通常指的是使用静态图的方式,而在TensorFlow 1.x中使用Eager API实现线性回归是在TensorFlow 1.x的晚期版本中引入的,以提供类似于TensorFlow 2.x的编程体验。以下是两种方式的区别、各自的优点以及对比的作用&…

Linux下fcitx框架输入法输入中文标点时为半角(英文)标点符号的解决

目录 引入解决1.打开fcitx设置2.打开全局配置3. 随便找个可以输入地方敲下快捷键 总结 本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。 因此,若需转载/引用本文,请注明作者并附原文链接,且禁止删除/修…

轻松搭建系统,让每个故事都精彩绽放!

"轻松搭建系统,让每个故事都精彩绽放!" 这句话传递了一个核心理念,即通过简化、高效的系统搭建过程,让每一个创意故事都能以最佳状态呈现给观众,实现其独特魅力和价值的最大化。 1、模块化设计:系…

CV06_Canny边缘检测算法和python实现

1.1简介 Canny边缘检测算法是计算机视觉和图像处理领域中一种广泛应用的边缘检测技术,由约翰F坎尼(John F. Canny)于1986年提出。它是基于多级处理的边缘检测方法,旨在实现以下三个优化目标: 好的检测:尽…

机器学习第四十七周周报 CF-LT

文章目录 week47 CF-LT摘要Abstract1. 题目2. Abstract3. 网络结构3.1 CEEMDAN(完全自适应噪声集合经验模态分解)3.2 CF-LT模型结构3.3 SHAP 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程 5. 结论6.代码复现小结参考文献 week47 CF-LT 摘要 本周…

以太网连接、本地连接、宽带连接和无线WLAN连接有什么不同?

电脑上的以太网连接、本地连接、宽带连接和无线WLAN连接在功能和实现方式上存在一定的区别。以下是对这四种连接方式的详细解析: 一、以太网连接与本地连接 1. 定义与关系 以太网连接:以太网是一种广泛应用的局域网(LAN)技术&a…

【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(二)

上一篇圆形表盘指针式仪表的项目受到很多人的关注,咱们一鼓作气,把数字式工业仪表的智能读数也研究一下。本篇主要讲如何用YOLOV8实现数字式工业仪表的自动读数,并将读数结果进行输出,若需要完整数据集和源代码可以私信。 目录 &…

排序(二)——快速排序(QuickSort)

欢迎来到繁星的CSDN,本期内容包括快速排序(QuickSort)的递归版本和非递归版本以及优化。 一、快速排序的来历 快速排序又称Hoare排序,由霍尔 (Sir Charles Antony Richard Hoare) ,一位英国计算机科学家发明。霍尔本人是在发现冒泡排序不够快…

MQTT协议网关解决方案及实施简述-天拓四方

MQTT协议网关是一个中间件,负责接收来自不同MQTT客户端的消息,并将这些消息转发到MQTT服务器;同时,也能接收来自MQTT服务器的消息,并将其转发给相应的MQTT客户端。MQTT协议网关的主要功能包括协议转换、消息过滤、安全…

ImportError: DLL load failed while importing cv2解决方案

系统是 server 2012 r2 datacenter 背景:在window10系统上采用PyInstaller打包python310版本程序后,在server 2012 r2 datacenter运行报错ImportError: DLL load failed while importing cv2,最后解决方案参考了一篇文章下评论修改成功。 原…

Qt http网络编程

学习目标:Qt HTTP网络编程 学习内容 1、Http就是超文本传输协议(Hypertext Transfer Protocol)的缩写,它定义了浏览器和网页服务器之间的通信规范。是一个简单的请求一响应协议,它通常运行在 TCP 之上。 作用:规定 WWW 服务器与浏览器之间信息传递规范…

软件测试常见面试题汇总(2024版)

一、常见的面试题汇总 1、你做了几年的测试、自动化测试,说一下 selenium 的原理是什么? 我做了五年的测试,1年的自动化测试; selenium 它是用 http 协议来连接 webdriver ,客户端可以使用 Java 或者 Python 各种编…

软件测试想转职有适合的岗位吗?

软件测试被有些人看做技术含量低,但是软件测试实际上是万金油行业,如果你不是在很大的公司做的软件测试,相比你做的工作是很杂的,比如软件测试找bug,你的主业,帮着产品经理整理需求,帮着项目经理…