目录
前言
为了更好的模拟角色受到伤害的效果,本篇博客将在上一篇(【UE5.1 角色练习】04-给角色设置HP)基础上制作一个火球发射物来攻击玩家控制的角色。
效果
步骤
一、制作火球
- 新建一个Actor蓝图,这里命名为"BP_FireBall",表示火球
打开"BP_FireBall",添加球体组件、球形碰撞组件、Cascade粒子系统组件和发射物移动组件
其中cascade粒子系统组件的模板使用初学者内容包中的"P_Fire"
这里设置发射物移动组件的初始速度为500、最大速度为2000,发射物没有重力
设置速度为(0,0,0),这个设置主要用于控制发射方向和速度默认为0
为了让火球有声音,这里再添加一个音频组件
音效使用初学者内容包的"Fire01"
启用"重载衰减",这里设置内部半径为300、衰减距离为2000
二、制作火球发射器
- 新建一个Actor蓝图,这里命名为"BP_FireBallSpawner",表示火球发射器
打开"BP_FireBallSpawner",添加如下节点。表示每0.7~1.5s就生成一个火球,然后设置火球的发射的初始位置为火球发射器的位置,发射方向为火球发射器到角色的方向,发射速度为1500~2000cm/s
我们还可以设置只有角色进入一定范围内,火球发射器才工作
- 将"BP_FireBallSpawner"移入到场景中
此时运动游戏可以看到,发射物生成器会不断生成火球并向着玩家位置发射
三、火球伤害
- 打开蓝图"BP_FireBall",在事件图表中添加如下节点。表示当火球与玩家重叠时对玩家造成伤害,然后生成爆炸效果和音效,然后等0.2s后销毁火球
"在位置处生成音效"节点需要一个音效衰减,它可以根据玩家相对音效的距离来衰减音量。
创建一个音效衰减
这里不修改音效衰减的设置,直接应用即可
如果我们希望火球碰到地面时也会产生爆炸,我们可以在类型转换失败后直接在位置处生成爆照效果
如果希望火球碰到地面爆炸会有溅射伤害,我们可以使用"应用带衰减的放射状伤害"节点
最终效果如下