Unreal Engine 4 RPG 系列教程(十五):Enemy Damage

474 阅读2分钟

Hello 大家好,在上一篇文章里我们讲述了该如何实现 Enemy 被攻击死亡的功能,今天咱们来讲一下 Enemy 如何给 Player 造成伤害,并死亡。

主角 Death

首先,导入角色死亡的动画,动画我就偷懒使用 Enemy death 的动画了,导入项目后,骨骼选择 Maria_J_J_Ong_Skeleton,完后后的动画如图所示:

image

打开 PlayerAnmi_BP 蓝图,添加 Player 死亡的状态机。

新增一个状态,命名为 death,然后将 Player 死亡的动画拖进去,连接好,如图:

image

过渡状态咱们需要新增一个 bool 变量 IsDead 来控制 Player 死亡,如图:

image

回到 PlayerAnmi_BP 的 EventGrahp 中,去关联 IsDead 这个变量,当然我们也需要在 Player_BP 蓝图中去定义一个 IsDead 变量,如图:

image

Enemy 伤害

在之前的教程里,咱们已经在 Enemy 攻击的动画中添加了 OnAttack 消息通知并关联了 EnemyOnAttack 事件, 所以我们就直接可以在这个事件中去完成想要的逻辑,如图:

image

这里的逻辑其实我就是从 Player_BP 中去复制过来的,所以很多逻辑咱们是可以复用的,EnemyAttackFrom 是我在 Knight_BP 中添加的一个 Scene Component 和之前 Player_BP 一样。

image

然后打开 Player_BP 蓝图,去监听 ApplyDamage 消息,如图:

image

当收到伤害时,就更新血条,如果血条低于 0 了,就设置玩家的状态为死亡状态了,这时候玩家就倒地不起了,效果如下:

image

获取工程

游戏完整工程下载地址: Unreal Engine RPG 开发系列完整工程

结尾

好了,玩家受到 Enemy 攻击后,当血量为 0 时,就播放死亡动画了,这时候游戏也就结束了。

往期文章:

请你喝杯 ☕️ 点赞 + 关注哦~

  1. 阅读完记得给我点个赞哦,有👍 有动力
  2. 关注公众号--- HelloWorld杰少,第一时间推送新姿势
  3. 封面由 AI 生成