前言
在上一篇(【UE5.1 角色练习】05-火球发射物-CSDN博客)基础上实现角色可以发射火球的技能
效果
步骤
一、准备
1. 打开角色蓝图,添加两个浮点型变量,分别表示当前的MP值和满状态的MP值
添加一个函数,这里命名为“F_AddMP”,用于修改MP值
2. 将动作资源添加到项目中(百度网盘 请输入提取码,密码:tttt)
二、角色发射火球
3. 在项目设置中添加一个操作映射,用于触发角色发射火球的操作
4. 找一个扔的动画
通过重定向器将小白人动画重定向给角色
5. 打开角色的动画蓝图,在动画图表中添加一个扔火球的状态,这里命名为“Fire_Fireball”
打开“Fire_Fireball”状态,让角色扔的动画序列作为输出动画姿势
添加一个布尔类型的变量,这里命名为“IsFiring_Fireball”,用于表示当前角色是否在扔火球
打开Idle到Fire_Fireball规则
设置当“IsFiring_Fireball”为true时,状态Idle过渡到状态Fire_fireball
设置当“IsFiring_Fireball”为false时,状态Fire_fireball过渡到状态Idle
同理Walk/Run到Fire_Fireball的规则和Fire_Fireball到Walk/Run的规则
6. 复制上一篇文章中的火球蓝图“BP_FireBall”,这里命名为“BP_Skill_FireBall”,表示角色发射的火球
该蓝图仍然是由球形碰撞组件、音频组件、粒子组件、发射物移动组件构成
其中,为了防止火球碰到玩家自身,这里球形碰撞组件的碰撞预设设置为“Custom”,然后忽略Pawn的碰撞
当火球命中Character类就应用伤害然后爆照,命中除了character以外的东西就直接爆炸不造成伤害
7. 打开角色蓝图,添加如下节点。表示按下1键就将动画蓝图中的变量“IsFiring_Fireball”变为true
由于扔的动画在0.86s时手在前方
因此延迟0.86s后,在角色的右手处生成火球并设置火球伤害值
设置火球移动速度,0.7s后停止扔的动作
此时角色已经可以扔火球了,效果如下所示