【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",设置动画类为上一步创建的动画蓝图

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

调整一下弹簧臂的位置

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

相关推荐
weixin_404679312 天前
虚幻5电子书
ue5
directx3d_beginner3 天前
5,动画蓝图类接口转c++
ue5
RuiZN3 天前
UE5 蓝图 FPS 02 Event Beginplay
c++·ue5
RuiZN3 天前
UE5 蓝图 FPS 01 Event Tick
c++·ue5
directx3d_beginner3 天前
6,执行攻击改为c++
ue5
平行云3 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(二)
linux·unity·ue5·webgl·实时云渲染·云桌面·像素流
RuiZN4 天前
UE5 UObject类详解
c++·ue5
平行云4 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(一)
linux·ue5·webgl·数字孪生·云渲染·实时云渲染·像素流
RuiZN4 天前
UE5 UObject和反射
c++·ue5
远离UE45 天前
UE5 如何在延时渲染在材质编辑器提前使用到多灯光的数据
ue5·编辑器·材质