ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
Mark White16 小时前
行为树(Behavior Tree):从 ROS 机器人到 Unity 游戏 AI 的统一决策范式
游戏·unity·机器人
上山老人17 小时前
UE4布娃娃约束修改
ue4
魔法阵维护师18 小时前
从零开发游戏需要学习的c#模块,第二十七章(远程攻击 —— 发射子弹)
学习·游戏·c#
平行云18 小时前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(一)
linux·ue5·webgl·数字孪生·云渲染·实时云渲染·像素流
Raink老师18 小时前
【AI面试临阵磨枪-75】游戏 AI Agent:NPC、剧情生成、攻略助手、社区问答、黑话适配
人工智能·游戏·面试
来自上海的这位朋友19 小时前
用 Three.js 做一个 Web 3D 非对称追猎 Demo:从场景、角色到手感调试
后端·游戏开发·three.js
SmalBox20 小时前
【节点】[RotateAboutAxis节点]原理解析与实际应用
unity3d·游戏开发·图形学
mascon20 小时前
解决苹果手机在游戏中意外触发下拉菜单的方法
游戏·智能手机
yjcode78920 小时前
游戏交易点卡充值源码系统制造厂
游戏·游戏交易
ShyanZh20 小时前
从0开始做自己的免费游戏聚合站(一):爬取数据并展示基本页面
游戏·喜加一·epic