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

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

调整一下弹簧臂的位置

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

相关推荐
HAPPY酷8 小时前
从Public到Private:UE5 C++类创建路径差异全解析
java·c++·ue5
1204157137 肖哥3 天前
UE5.7 Procedural Vegetation分析
ue5
半天法师3 天前
Bug 记录:UE 结构体转 JSON 时 Key 字段大小写异常 (Editor 与打包后表现不一致)
ai·ue5·json·bug
邪修king3 天前
UE5 零基础入门第四弹:UMG UI 系统入门,从静态界面到逻辑联动
c++·ui·ue5
HAPPY酷5 天前
UE5 开发工具链配置清单
ue5
晴夏。5 天前
UE5第三人称模板实现及相关引擎源码分析
unity·ue5·游戏引擎·ue
HAPPY酷5 天前
UE5 C++ 避坑指南:暴力移除 Electronic Nodes 插件,回归纯净开发
开发语言·c++·ue5
晴夏。5 天前
UE原生第三人称相机源码分析
游戏·ue5·ue4·相机·ue·3c
郑寿昌7 天前
UE5中FBX材质丢失终极修复指南
ue5·材质
郑寿昌8 天前
AI生成的FBX格式导入UE5模型的兼容性优化指南
ue5