武器攻击
上文实现了角色装备武器的功能,有了武器就应该要展示一下武器的攻击招式了,接下来咱们就来实现一个武器连招攻击的效果。
准备 Combo 动画
还是在 Mixmao 上去准备下载几个连招的动画,这里我下载了这几个招式:
完成 Combo 状态机
打开动画蓝图,依次添加三个状态:Attack1, Attack2, Attack3 代表三个连招动作,如图:
然后创建三个 bool 变量:Combo1, Combo2, Combo3 来表示招式之间的切换.再创建一个 bool 变量 ComboSaved 来表示连招的状态,如果是 false 则结束连招,回到手持武器的动画状态。
每个状态的详细蓝图如下:
Attack1
Attack2
Attack3
Transition 状态
鼠标攻击事件
打开角色蓝图,与动画蓝图一样创建用于标识连招切换的三个 bool 变量, Combo1, Combo2, Combo3 和状态 ComboSaved 变量。这些变量将与动画蓝图中创建的变量相关联,下文中会讲述到。
再创建一个 int 变量 AtkCombo,用于标识招式, 例如当 AtkCombo = 0 时,播放 Slash 动画,当 AtkCombo = 2 时,播放踢腿动画等等。
再创建一个 bool 变量 CanAttack 用于表示能否进行攻击,默认值设置为 true。
在工程设置中添加鼠标左键点击事件,函数名称为 Attack,在角色蓝图中 调用 Attack 函数,然后构建其蓝图逻辑。
- 判断是否手持武器
- 判断 CanAttack 是否为 true
- 当 CanAttack 为 true 时,接下来先把 CanAttack 设置为 false 避免鼠标左键一直可以点击
- 设置 ComboSaved 为 true, 并根据 AtkCombo 的值来设置 Combo1, Combo2, Combo3 的状态,当 Combo1 执行完后,AtkCombo + 1, 当 Combo3 执行完后 AtkCombo = 0
蓝图如下:
当连招结束后需要重置这些变量,创建一个函数 ResetAttack, 蓝图如下:
动画消息通知
角色在施展连招动画的时候也得需要有个通知,告诉何时动画播放完毕,何时可以进行下一个连招,所以在招式的动画中,需加入 ResumeAttack 和 ResetAttack 俩个消息。
招式一
招式二
招式三
在动画蓝图的 Event Graph 中去关联上文中所创建的那些参数以及函数:
保存并编译,回到编辑器中运行,角色就可以施展连招了。
获取工程
搜索 HelloWorld杰少 回复关键字 'RPG' 获取完整的工程。
我是杰少,如果您觉的我写的不错,那请给我 点赞+评论+收藏 后再走哦!
往期文章:
- UE4 RPG游戏实战开发(二):装备武器
- UE4 RPG游戏实战开发(一)
- UE4 如何用命令行来打包你的游戏
- UE4:来为我们的角色制作一个血条吧
- 使用 Google Breakpad 来助力解决程序崩溃
- UE4 多人游戏服务器探索
- 使用虚幻引擎自动化工具实现自动化部署
- 如何在 UE4 中制作一扇自动开启的大门
- 如何在 UE4 中用代码去控制角色移动
- 如何给 UE4 场景添加游戏角色
- UE4:Android 平台开发实践指南
- UE4 开发避坑指南(持续更新)
请你喝杯 ☕️ 点赞 + 关注哦~
- 阅读完记得给我点个赞哦,有