Unreal Engine 4 RPG 系列教程(三):连招攻击

1,449 阅读3分钟

武器攻击

上文实现了角色装备武器的功能,有了武器就应该要展示一下武器的攻击招式了,接下来咱们就来实现一个武器连招攻击的效果。

准备 Combo 动画

还是在 Mixmao 上去准备下载几个连招的动画,这里我下载了这几个招式:

113136.png

屏6.png

完成 Combo 状态机

打开动画蓝图,依次添加三个状态:Attack1, Attack2, Attack3 代表三个连招动作,如图:

image

然后创建三个 bool 变量:Combo1, Combo2, Combo3 来表示招式之间的切换.再创建一个 bool 变量 ComboSaved 来表示连招的状态,如果是 false 则结束连招,回到手持武器的动画状态。

image

每个状态的详细蓝图如下:

Attack1

image

Attack2

image

Attack3

image

Transition 状态

image

image

image

image

image

鼠标攻击事件

打开角色蓝图,与动画蓝图一样创建用于标识连招切换的三个 bool 变量, Combo1, Combo2, Combo3 和状态 ComboSaved 变量。这些变量将与动画蓝图中创建的变量相关联,下文中会讲述到。

再创建一个 int 变量 AtkCombo,用于标识招式, 例如当 AtkCombo = 0 时,播放 Slash 动画,当 AtkCombo = 2 时,播放踢腿动画等等。

再创建一个 bool 变量 CanAttack 用于表示能否进行攻击,默认值设置为 true。

130833.png

在工程设置中添加鼠标左键点击事件,函数名称为 Attack,在角色蓝图中 调用 Attack 函数,然后构建其蓝图逻辑。

  1. 判断是否手持武器
  2. 判断 CanAttack 是否为 true
  3. 当 CanAttack 为 true 时,接下来先把 CanAttack 设置为 false 避免鼠标左键一直可以点击
  4. 设置 ComboSaved 为 true, 并根据 AtkCombo 的值来设置 Combo1, Combo2, Combo3 的状态,当 Combo1 执行完后,AtkCombo + 1, 当 Combo3 执行完后 AtkCombo = 0

蓝图如下:

2211.png

当连招结束后需要重置这些变量,创建一个函数 ResetAttack, 蓝图如下:

image

动画消息通知

角色在施展连招动画的时候也得需要有个通知,告诉何时动画播放完毕,何时可以进行下一个连招,所以在招式的动画中,需加入 ResumeAttack 和 ResetAttack 俩个消息。

招式一

133907.png

招式二 ddd5.png

招式三

rr1.png

在动画蓝图的 Event Graph 中去关联上文中所创建的那些参数以及函数:

ee135757.png

840.png

保存并编译,回到编辑器中运行,角色就可以施展连招了。

image

获取工程

搜索 HelloWorld杰少 回复关键字 'RPG' 获取完整的工程。

我是杰少,如果您觉的我写的不错,那请给我 点赞+评论+收藏 后再走哦!

往期文章:

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

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

最后,创作不易,如果对大家有所帮助,希望大家点赞支持,有什么问题也可以在评论区里讨论😄~**