【UE5.1 角色练习】06-角色发射火球-part1

时间:2024-05-31 07:03:24

前言

在上一篇(【UE5.1 角色练习】05-火球发射物-****博客)基础上实现角色可以发射火球的技能

效果

步骤

一、准备 

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后停止扔的动作

此时角色已经可以扔火球了,效果如下所示