ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
渔民小镇1 小时前
不用前端也能测试 —— 模拟客户端请求模块详解
java·服务器·前端·分布式·游戏
2501_939998201 小时前
玩游戏安装什么系统好?游戏专用系统推荐
windows·游戏
❀͜͡傀儡师2 小时前
深海掠夺者:一款基于Agent驱动的深海冒险MUD游戏
游戏
SmalBox2 小时前
【节点】[Log节点]原理解析与实际应用
unity3d·游戏开发·图形学
sensen_kiss3 小时前
CPT306 Principles of Computer Games Design 电脑游戏设计原理 Pt.5 VR 游戏
学习·游戏·vr
上海云盾安全满满3 小时前
游戏被攻击了要如何选择防护,接高防服务器还是游戏盾
服务器·网络·游戏
风酥糖3 小时前
Godot游戏练习01-第23节-新增Player名称显示
游戏·游戏引擎·godot
十五年专注C++开发4 小时前
Cocos2d - x: 一款开源跨平台 2D 游戏框架
运维·c++·游戏·开源·游戏引擎·cocos2d
liulilittle4 小时前
游戏服务器检测扣除消耗防算数溢出的安全判断及解决方法
服务器·游戏
Swift社区4 小时前
鸿蒙游戏中的多端适配策略
游戏·华为·harmonyos