ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
k4m7v2pz6 小时前
Bevy 0.18.1 雨雪天气粒子系统排障实录:四个“想当然“如何让 3D/2D 粒子全部不可见
3d·游戏开发·3d渲染·bevy·天气粒子·2d渲染
小小数媒成员7 小时前
【8.29-8.31】游戏见闻*
游戏
hkNaruto12 小时前
【游戏】低帧率策略游戏类帧同步保障公平性软件详细设计文档
网络·游戏
科技小登16 小时前
企业DDoS防护方案实战测试:高防CDN、高防IP与SDK游戏盾如何配置
tcp/ip·游戏·ddos
2501_9160074717 小时前
Flutter与游戏App加固避坑指南:如何为混合开发与高交互应用选对安全方案?
安全·flutter·游戏·ios·小程序·uni-app·iphone
SmalBox17 小时前
【高级着色器】Unity实现-彩虹泡泡着色器
unity3d·游戏开发·图形学
只是甲19 小时前
《魔法学院救援记》游戏介绍
游戏·vibe coding·学习中游戏·游戏中学习·培养孩子学习兴趣
SmalBox1 天前
【动态着色】Unity实现3D扫描线
unity3d·游戏开发·图形学
SmalBox3 天前
【动态着色】Unity 实现消融效果
unity3d·游戏开发·图形学
曼巴UE53 天前
Unlua UE5.3 调试
ue5·lua·unlua