ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
dalong105 小时前
A26:扫雷游戏
笔记·游戏·aardio
SmalBox5 小时前
【节点】[CustomLighting节点]原理解析与实际应用
unity3d·游戏开发·图形学
henry1010108 小时前
HTML5小游戏 - 数字消除 · 合并2048
前端·游戏·html·html5
yblackd8 小时前
UnrealEngine Win风格 窗口选择打开文件
c++·ue5·虚幻
陈天伟教授10 小时前
人工智能应用- 扫地机器人:02. 机器人 ≠ 人工智能
人工智能·神经网络·游戏·自然语言处理·机器人·机器翻译
你好!蒋韦杰-(烟雨平生)11 小时前
opengl阴影实现
c++·数学·游戏·3d
AI视觉网奇1 天前
ue 推送直播流 推流 linux 实战
笔记·学习·ue5
reddingtons1 天前
Scenario: SLG 地图铺到吐?搭建“轴测流水线”,量产建筑不重样
游戏·3d·prompt·aigc·设计师·游戏美术·slg
郁闷的网纹蟒1 天前
虚幻5---第16部分---敌人(中)
开发语言·c++·ue5·游戏引擎·虚幻
爱搞虚幻的阿恺1 天前
Niagara粒子系统-超炫酷的闪电特效(第一期 粒子的朝向与对齐)
游戏·ue5·游戏引擎·虚幻