【UE5.1】NPC人工智能——06 NPC攻击

目录

前言

效果

步骤

一、准备NPC狮子攻击的动画

二、NPC狮子攻击玩家造成伤害


前言

在上一篇中(【UE5.1】NPC人工智能------05 给NPC添加视觉感知)我们已经给NPC添加了感知功能,使其在感知到玩家后就跑向玩家。本篇要实现的功能是,当NPC跑向玩家后攻击玩家的功能。

效果

步骤

一、准备NPC狮子攻击的动画

  1. 准备使用狮子攻击的动画为"ANIM_Lion_ClawsAttack"
  1. 找到狮子的动画蓝图"ABP_Lion"

打开"ABP_Lion",在动画图表中添加一个状态,这里命名为"ClawAttack"

添加一个变量"IsCrawAttacking",用于表示狮子是否开始用爪子攻击

编辑过度到"ClawAttack"状态的规则如下

编辑"ClawAttack"状态回到Idle状态的规则如下

添加"ClawAttack"状态的动画输出姿势

  1. 打开狮子蓝图"Character_Lion"

在事件图表中先获取到动画蓝图"ABP_Lion"的引用

添加一个狮子用爪子攻击的自定义事件,然后设置动画蓝图的"IsCrawAttacking"为true,1.33s后再设置为fasle。1.33s正好是动画序列"ANIM_Lion_ClawsAttack"单次播放时间。

二、NPC狮子攻击玩家造成伤害

  1. 打开狮子骨骼网格体"SK_Lion"

找到狮子右手指的骨骼

添加一个插槽

  1. 回到狮子蓝图"Character_Lion",添加一个球形碰撞组件。该组件的作用就是用来判断狮子的爪子是否接触到玩家。

在细节面板中设置球形碰撞组件的父项套接字为我们刚才创建的插槽

减小球形碰撞组件的球体半径,这里设置为15

同样的方法,我们再给左爪添加一个插槽

给左爪添加碰撞组件

  1. 回到狮子蓝图"Character_Lion"中,当球形碰撞组件接触到玩家后就通过应用伤害节点对玩家造成10点伤害。
  1. 打开行为树"BT_Lion",新建一个任务

这里命名为"BTTask_CrawAttack"

在该任务的事件图表中添加如下节点

  1. 在行为树中添加刚创建的任务"BTTask_CrawAttack"

此时运行可以看到在狮子追上玩家后就会攻击玩家

相关推荐
AA陈超1 天前
LyraStarterGame_5.6 Experience系统加载流程详细实现
c++·笔记·学习·ue5·虚幻引擎·lyra
AA陈超2 天前
LyraStarterGame_5.6 Experience系统分析
开发语言·c++·笔记·学习·ue5·lyra
zhangzhangkeji2 天前
UE5 蓝图-游老师-21-22-组件:组件构成了角色 actor
ue5
zhangzhangkeji2 天前
UE5 材质-25-各种节点:点乘dot,VertexNormalWS 节点与 CameraVectorWS 节点,
ue5
zhangzhangkeji2 天前
UE5 材质-23:材质里参数的分组与排序。材质参数集,为了批量修改很多个材质实例里的参数的值。
ue5
zhangzhangkeji2 天前
UE5 材质-24-各种节点:叉积cross,调试节点 DebugFloat3Values,拆分向量 SplitComponents,
ue5
zhangzhangkeji3 天前
UE5 蓝图-游老师-23-射线检测物体与碰撞规则设置:按通道检测与按类型检测;以及修改项目设置(引擎-碰撞)以自定义碰撞类型
ue5
成都渲染101云渲染66663 天前
C4D 云渲染平台哪个好?价格、速度、稳定性全网真实对比(含渲染101)
ue5·图形渲染·blender·maya·houdini
zhangzhangkeji3 天前
UE5 材质-27-各种节点:round 四舍五入节点,材质依附的物体的纹理的坐标 TextureCoordinate 节点
ue5
成都渲染101云渲染66663 天前
Blender 云渲染平台实测对比:iRender、GarageFarm、渲染101 哪家更适合动画云渲染?
ue5·图形渲染·blender·maya·houdini