ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
yangmu32038 小时前
《刺客信条:黑旗 记忆重置》3款游戏Reshade滤镜分享
游戏
双鱼座达人18 小时前
Linux 网络管理器用法速查
游戏
directx3d_beginner1 天前
25,怪物受伤害和受力
ue5
SmalBox1 天前
【节点】[EvaluateFoamData节点]原理解析与实际应用
unity3d·游戏开发·图形学
智信中科张炜1 天前
全球及中国游戏小工具行业发展研究及十五五分析报告
游戏
_ZHOURUI_H_1 天前
MyFramework: 同样是 Unity 游戏开发框架,和 HTFramework 的设计取向有什么不同?(下)
unity·游戏引擎·游戏开发·游戏ui·手游开发
wjql21 天前
steam远程畅玩的方法 怎么远程玩steam游戏
游戏
qq_369224331 天前
游戏、PS、编程软件集体闪退,元凶是vcruntime140_1.dll丢失,报错根源、核心原理与全套修复方案
游戏·dll·dll修复·dll丢失·dll错误
wjql21 天前
三角洲行动爆破模式玩法介绍 三角洲行动爆破模式怎么远程玩
游戏
劉宇雁1 天前
C++ ASCII 3D无尽跑酷游戏
c++·游戏·3d