目录
效果
步骤
一、火球生命周期
二、添加可被伤害的NPC
三、添加冲量
在上一篇(【UE5.1 角色练习】06-角色发射火球-part1)基础上继续实现角色发射火球相关功能
效果
步骤
一、火球生命周期
为了防止火球没有命中任何物体而一直移动下去,我们可以设置火球的生命周期只有7s
二、添加可被伤害的NPC
1. 新建一个父类为Character的蓝图,这里命名为“BP_NPC”,该蓝图类将作为所有NPC的父类
打开“BP_NPC”,添加一些NPC共有的东西。先添加两个浮点类型变量“HP_Current”和“HP_Max”分别用于表示NPC当前的生命值和最大生命值。
新建一个函数,这里命名为“F_ChangeHP”,用于修改NPC的生命值。当传入的参数“HP”值为正数,则表示添加NPC生命值,为负数就表示减少生命值
当角色受到任意伤害时就通过调用函数“F_ChangeHP”来减少NPC生命值
当NPC血量小于等于0时就销毁Actor
2. 对“BP_NPC”创建一个子蓝图,这里命名为“BP_NPC_Rock”
打开“BP_NPC_Rock”,添加一个静态网格体组件,这里静态网格体设置为一块石头
在类默认值中设置HP值
3. 将石块移至场景中
此时运行可以看到我们只需攻击三次,就可以让石块生命值归0,从而让其消失:
4. 我们可以在“BP_NPC”的事件图表中添加如下函数,表示NPC受到伤害后执行的函数,该函数内部没有任何逻辑,我们可以在子类中去重载该函数
比如我们可以在子类中设置当受到伤害后播放一段音效
5. 我们可以在角色蓝图中设置当发射火球后扣除角色MP值
在扣除前需要判断当前MP值是否充足,如果充足才能施法
三、添加冲量
如果火球攻击的NPC具有模拟物理设置的话,我们应该再火球攻击的时候给NPC添加一个冲量