ue5 伤害插件

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

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

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

创建结构体,S_DamageInfo

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

Heal函数为治疗函数

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

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

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

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

接口中的函数如图所示

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

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

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

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

相关推荐
HAPPY酷4 小时前
游戏架构论:三大核心玩法组件如何构建“世界观容器”
游戏
LcGero6 小时前
TypeScript 快速上手:泛型与工具类型
typescript·cocos creator·游戏开发
SmalBox9 小时前
【节点】[Power节点]原理解析与实际应用
unity3d·游戏开发·图形学
风酥糖9 小时前
Godot游戏练习01-第27节-升级选项选择生效
游戏·游戏引擎·godot
南無忘码至尊10 小时前
Unity学习90天-第2天-认识键盘 / 鼠标输入(PC)并实现WASD 移动,鼠标控制物体转向
学习·unity·c#·游戏开发
邪修king11 小时前
UE5 零基础入门第二弹:让你的几何体 “活” 起来 ——Actor 基础与蓝图交互入门
c++·ue5·交互
拖孩11 小时前
我用 AI 搓了一个"比谁更持久"的微信小游戏,AI实现只用了一天,微信审核却用了一个月!!!
微信小程序·ai编程·游戏开发
non-action_pilgrim12 小时前
《小坦克大战小怪兽》小游戏实战四:基于 protoactor-go 的游戏服务器框架与状态持久化实战
服务器·游戏·golang
Дерек的学习记录12 小时前
Unreal Eangie 5:蓝图编程
开发语言·学习·ue5
吴梓穆1 天前
UE5 c++ 常用方法
java·c++·ue5