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

效果

步骤

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

该蓝图继承于角色类

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

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

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

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

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

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

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

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

替换为复制过来的骨骼

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

复制一份,这里命名为"Character_Lion"

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

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

删除"SkeletalMesh_Teeth"组件

编译后删除报错的节点

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

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

设置合适的大小和位置

  1. 新建一个动画蓝图

这里命名为"ABP_Lion"

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

这里命名为"BS_Lion_IdleRun"

  1. 打开"BS_Lion_IdleRun",设置水平坐标名称为"Direction",设置垂直坐标名称为"Speed"

坐标轴中放置动画序列

  1. 回到动画蓝图"ABP_Lion"中,添加如下三个变量

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

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

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

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

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

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

调整一下弹簧臂的位置

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

相关推荐
狂云歌11 小时前
AI写UE的3Dgame
人工智能·3d·ue5·游戏程序
日月云棠4 天前
UE5源码分析之Editor——Blutility模块全面分析
ue5
日月云棠4 天前
UE5源码分析之Editor——BehaviorTreeEditor模块全面分析
ue5
日月云棠4 天前
UE5源码分析之Editor——AssetTagsEditor模块全面分析
ue5
远离UE45 天前
UE5 显存 虚拟内存 深入学习笔记
笔记·学习·ue5
日月云棠6 天前
UE5源码分析之Editor——AnimationSettings模块全面分析
ue5
远离UE46 天前
UE5 SF_VertexShader 如何使用
ue5
电子云与长程纠缠6 天前
UE5 Lyra PocketWorld进行3D内容UI预览 - 上
开发语言·学习·3d·ue5·游戏引擎
电子云与长程纠缠7 天前
UE5 Lyra PocketWorld进行3D内容UI预览 - 下
开发语言·学习·游戏·ui·ue5
远离UE47 天前
UE5 GPU内部异步
ue5