当前位置: 首页 > news >正文

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

目录

效果

步骤

一、火球生命周期

二、添加可被伤害的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添加一个冲量

http://www.lryc.cn/news/355892.html

相关文章:

  • 多系统集成的项目周期为何普遍较长?
  • 【LaTex】11 ACM参考文献顺序引用 - 解决 ACM-Reference-Format 顺序不符合论文实际引用顺序的问题
  • selenium 学习笔记(一)
  • Nginx-04-Docker Nginx
  • Rust一维Vec垂直方向拼接、水平方向拼接,多个二维Vec垂直方向拼接
  • 低代码与人工智能:改变软件开发的未来
  • 第三方软件检测机构要具备哪些资质要求?专业测试报告如何申请?
  • 快团团帮卖团长怎么对供货大团长进行评分?
  • 双向带头链表实现
  • 黑马python-面向对象程序设计
  • pod容器基础概念
  • AI日报:百度发布文心大模型学习机;Open-Sora 1.1可生成21秒视频;Canva可以自动剪辑视频了;超牛ComfyUI节点AnyNode来了
  • VUE3+TS+elementplus+Django+MySQL实现从数据库读取数据,显示在前端界面上
  • 用c++做贪吃蛇
  • 【UE5.1 角色练习】08-传送技能
  • 力扣283题:移动零(快慢指针)
  • Java面试精粹:高级问题与解答集锦(一)
  • Yourpassword does not satisfy the current policyrequirements
  • 解决vue3 vite打包报Root file specified for compilation问题
  • Java Swing + MySQL图书借阅管理系统
  • ssm招聘信息管理系统-计算机毕业设计源码78049
  • eBPF可观测之网络流量控制和管理traffic control浅尝
  • Java技术精粹:高级面试问题与解答指南(二)
  • 地下停车场FM信号覆盖系统技术原理用与应用
  • idea 出现 cpu占用100%
  • 如何学到数据库从入门到入土(MySQL篇)
  • 安卓手机APP开发__Wi-Fi扫描概述
  • 深入理解二叉树及其在C语言中的实现
  • 基于ssm+vue图书管理系统
  • 高防ip能防护变异CC攻击吗