ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
我一身正气怎能输2 小时前
游戏大厂A*寻路优化秘籍:流畅不卡顿
人工智能·游戏
avi91117 小时前
Lua高级语法-第二篇
lua·游戏开发·编程语言·语法糖
点金石游戏出海9 小时前
玩家为何退出、不付费?读懂这些关键的“行为数据”,解锁增长密码!
游戏·数据分析·用户分析·游戏运营
SmalBox9 小时前
【URP】Unity[内置Shader]简单光照SimpleLit
unity3d·游戏开发·图形学
我一身正气怎能输12 小时前
游戏导航网格地图如何自动切割成多边形区域——技术详解大白话长文
游戏
深海潜水员12 小时前
【MonoGame游戏开发】| 牧场物语实现 第一卷 : 农场基础实现 (下)
vscode·游戏·c#·.net·monogame
有一个好名字1 天前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
Coder-coco2 天前
游戏助手|游戏攻略|基于SprinBoot+vue的游戏攻略系统小程序(源码+数据库+文档)
java·vue.js·spring boot·游戏·小程序·论文·游戏助手
5***o5002 天前
PHP在电商中的支付集成
sql·ue5·rizomuv
S***42802 天前
C++在游戏中的动画系统
游戏