ue5 伤害插件

主角或敌人都能用的插件,复用性很高

首先创建以下插件、接口、类型文件

两个枚举中的参数名称,E_DamageResponse区分是各个伤害后的反应,比如不同伤害造成的动画或粒子特效等的不同,E_DamageType是伤害类型,有各种伤害类型,比如近距离伤害和爆炸伤害

创建结构体,S_DamageInfo

然后创建BPC_DamageSystem插件,并编写代码

Heal函数为治疗函数

TakeDamage函数是实现伤害和判断伤害类型等

CanbeDamage宏中的代码,IsBlocking布尔变量我默认是True

三个事件分发器是为了后续可以在玩家或敌人蓝图中编写死亡,阻挡,被攻击的反应 代码,因为这几部分在敌人和主角中都不太一样,所以后续在人物蓝图中再编写

再到主角蓝图中添加最开始创建的接口BPI_Damageable,并在左侧添加选项中添加我们创建的BPC_DamageSystem插件(图中没有标明)

接口中的函数如图所示

之后在人物蓝图中编写接口函数

之后在攻击逻辑中调用TakeDamage函数

至此主角蓝图已经编写完毕

之后在敌人蓝图添加接口和插件,再把接口中的函数照上面的主角蓝图写一下就行了,至此就完成了正常的攻击伤害逻辑,这个接口还有很多功能,在所创建的变量中也能看出来

相关推荐
星火撩猿2 小时前
常见游戏引擎介绍与对比
unity·ue5·游戏引擎·godot
w4ngzhen2 小时前
关于Bevy中的原型Archetypes
rust·游戏开发
二狗哈2 小时前
制作一款打飞机游戏21:自定义工具
游戏
清流君4 小时前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
@正在学习驰骋的小马5 小时前
九、小白如何用Pygame制作一款跑酷类游戏(添加前进小动物作为动态障碍物)
python·游戏·pygame
264玫瑰资源库14 小时前
问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
java·开发语言·前端·游戏
Involuter15 小时前
UE5 Assimp 自用
ue5
微网兔子16 小时前
伺服器用什么语言开发呢?做什么用什么?
服务器·c++·后端·游戏
电子云与长程纠缠17 小时前
Unreal Niagara制作SubUV贴图翻页动画
学习·ue5·编辑器·贴图·niagara
二狗哈19 小时前
制作一款打飞机游戏20:敌人被击中时的视觉效果
游戏