前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unreal Engine 4 RPG 系列教程(十四):Enemy Damage

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

作者头像
HelloWorld杰少
发布2023-08-10 10:01:44
1820
发布2023-08-10 10:01:44
举报
文章被收录于专栏:HelloWorld杰少HelloWorld杰少

前言

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

结尾

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HelloWorld杰少 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主角 Death
  • Enemy 伤害
  • 结尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档