施放魔法(远程)
上文中我们完成了对冷兵器的操作,今天我们来看看如何让角色施放魔法技能。首先来看下施放远程魔法的实现。
动画资源准备
还是在 MixMao 上去下载施放远程魔法的动画资源,我下载的资源如图:
动画状态
打开动画蓝图,为其添加一个状态 Cast, 并新增 Bool 变量 Cast(角色蓝图中也需要新增一个bool变量 Cast,下文中会讲到) 用于标识角色是否在施放技能。
然后构建其状态逻辑。
打开它的 Event Graph,完成如下蓝图:
魔法蓝图对象
虚幻商城为开发者提供了免费的特效 Pack 供下载,开发者可以搜索 FX Variety Pack 添加到工程中使用。
新建一个 Blueprint Class -> Actor, 命名为 ThunderBall_BP, 然后 Add Particle System Component, 粒子特效选择 P_ky_thunderBall 闪电球,然后再添加一个 Projectile Movement Component 用于闪电球移动,并配置它的速度为 1000 - 1100000, Gravity = 0。
施放事件
闪电球和动画准备完成以后,接下来就该将这俩结合在一起了,添加一个事件用于施放技能,我这里映射了键盘按键 1,当按下 1 时施放技能。
打开角色蓝图,添加 Casting 函数,并新增俩个变量分别是 bool 类型的 Cast 和 ThunderBall_BP 类型的 ThunderBall(记得初始化)。
然后构建其蓝图逻辑,如下:
这时候在编辑器中运行,按住键 1 角色就会施放魔法技能的动画,但是没有出现闪电球。接下来就来为其添加上闪电球,打开施放魔法的动画,在动画合适的地方添加一个事件 CastSpell 来表示在这帧上生成闪电球。
回到角色蓝图上,右键新建一个自定义消息 CastingSpell 用于生成闪电球。
再给角色创建一个 Arrow Component 来标识闪电球生成的位置。在这之前先调整角色动画的姿态,以便于将 Arrow 摆放到正确的位置,如图:
创建 Arrow,
调整 Arrow 的位置到角色伸出的手上,
回到角色蓝图的 Event Graph,为 CastingSpell 函数添加逻辑,利用 SpawnFromClass 节点来生成闪电球,
最后,将角色蓝图的 CastingSpell 函数与动画中的 CastSpell 消息关联起来,
回到编辑视图里运行,按住按键1,施放闪电球的技能就完成了。
我是杰少,如果您觉的我写的不错,那请给我 点赞+评论+收藏 后再走哦!
往期文章:
- UE4 RPG游戏实战开发(三):连招攻击
- UE4 RPG游戏实战开发(二):装备武器
- UE4 RPG游戏实战开发(一)
- UE4 如何用命令行来打包你的游戏
- UE4:来为我们的角色制作一个血条吧
- 使用 Google Breakpad 来助力解决程序崩溃
- UE4 多人游戏服务器探索
- 使用虚幻引擎自动化工具实现自动化部署
- 如何在 UE4 中制作一扇自动开启的大门
- 如何在 UE4 中用代码去控制角色移动
- 如何给 UE4 场景添加游戏角色
- UE4:Android 平台开发实践指南
- UE4 开发避坑指南(持续更新)
请你喝杯 ☕️ 点赞 + 关注哦~
- 阅读完记得给我点个赞哦,有👍 有动力
- 关注公众号--- HelloWorld杰少,第一时间推送新姿势
最后,创作不易,如果对大家有所帮助,希望大家点赞支持,有什么问题也可以在评论区里讨论😄~**