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

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

调整一下弹簧臂的位置

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

相关推荐
暴走约伯1 天前
【虚幻5蓝图Editor Utility Widget:创建高效模型材质自动匹配和资产管理工具,从3DMax到Unreal和Unity引擎_系列第二篇】
unity·ue5·游戏引擎·虚幻·材质
北冥没有鱼啊2 天前
UE 滚动提示条材质制作
游戏·ue5·游戏引擎·ue4·虚幻·材质
星火撩猿5 天前
常见游戏引擎介绍与对比
unity·ue5·游戏引擎·godot
清流君5 天前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
Involuter6 天前
UE5 Assimp 自用
ue5
电子云与长程纠缠6 天前
Unreal Niagara制作SubUV贴图翻页动画
学习·ue5·编辑器·贴图·niagara
子燕若水6 天前
“Daz to Unreal”将 G8 角色(包括表情)从 daz3d 导入到 UE5。在 UE5 中,我发现使用某个表情并与闭眼混合后,上眼睑出现了问题
3d·ue5
半天法师6 天前
UE5.2+VarjoXR3,Lumen、GI、Nanite无效的两种解决方案
ue5·xr·vr
ue星空6 天前
UE5摄像机画面没有填充满屏幕有黑边
ue5
李詹7 天前
游戏开发核心技术解析——从引擎架构到攻防体系的完整技能树
架构·ue5·游戏引擎·游戏程序·3dsmax·虚幻