ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
SmalBox15 小时前
【节点】[Adjustment-Contrast节点]原理解析与实际应用
unity3d·游戏开发·图形学
zhangzhangkeji17 小时前
UE5 蓝图-游老师-18-蓝图的封装,19-继承,20-多态:父类中的变量,函数、事件,分发器,实现的接口,可以被子类直接使用,也可以被子类重写重定义
ue5
锦瑟弦音17 小时前
Luban + Cocos3.8.7 + Typescript + Json
笔记·游戏·typescript
EasyDSS19 小时前
视频直播点播平台EasyDSS在游戏比赛直播场景的应用实践
游戏·音视频
汉克老师20 小时前
2023年海淀区中小学信息学竞赛复赛(小学组试题第七题 赛车游戏(car))
c++·游戏·双指针·海淀区中小学信息竞赛
qq_4286396120 小时前
虚幻基础:特效
游戏引擎·虚幻
每天回答3个问题21 小时前
UE教程|unlua知识地图
ue5·腾讯·lua5.4
wanhengidc1 天前
云手机的扩展性怎么样?
运维·服务器·科技·安全·游戏·智能手机
qq_428639611 天前
虚幻基础:将角色的模型替换为自己的模型
游戏引擎·虚幻
prettybug1251 天前
OBS直播教程:如何安装游戏直播整蛊软件
游戏·obs插件·整蛊