ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
腾讯WeTest9 小时前
范式转移:LLM如何重塑游戏自动化测试的底层逻辑
功能测试·游戏·ai·腾讯wetest
云水木石13 小时前
Android 的下一个战场:Windows 应用与游戏?
android·windows·游戏
UWA19 小时前
GPM 2.0全新功能发布|GPU精准监测 + 精细化运营,重构游戏性能管控新范式
人工智能·游戏·性能优化·重构·游戏开发·uwa
向宇it19 小时前
【unity游戏开发——网络】使用Unity+PurrNet+Heathens+Steam,在 Unity 中通过 Steam与你的朋友建立联系
网络·游戏·unity·c#·游戏引擎·steam
SmalBox19 小时前
【节点】[Filter-FadeTransition节点]原理解析与实际应用
unity3d·游戏开发·图形学
Zhichao_9720 小时前
【UE5.3 C++】ARPG游戏 01-创建天空、地形和植被
ue5
zhangzhangkeji20 小时前
cesium126,230719,远程工作 Editor 里看不到地形:就是 UE 编辑器用客户端登录远程服务器进行编码时,看不到地图的实时更新
ue5
远离UE420 小时前
UE5 Computer Shader 概念整理
ue5
HUST20 小时前
C 语言 第七讲:数组和函数实践:扫雷游戏
c语言·开发语言·数据结构·vscode·算法·游戏·c#
德迅云安全—珍珍21 小时前
游戏掉线使用游戏盾SDK能优化网络吗
网络·游戏