- 博客(19)
- 收藏
- 关注
原创 UE5多人MOBA+GAS 19、创建升龙技能,以及带力的被动,为升龙技能添加冷却和消耗
本文介绍了在Unreal Engine中实现升龙拳技能及其击飞被动效果的技术方案。主要内容包括: 创建升龙拳技能Tag(Ability.Uppercut.Launch)和击飞被动Tag(Ability.Passive.Launch.Activate) 开发UpperCut技能类,使用动画蒙太奇和游戏事件实现升龙拳攻击逻辑 将升龙拳技能添加到角色蓝图和输入映射中 创建GAP_Launched被动技能类,处理角色被击飞时的特殊能力逻辑 配置技能的服务器执行策略和事件触发机制 该方案采用Unreal的Gamepl
2025-07-12 19:15:54
461
原创 UE5多人MOBA+GAS 18、用对象池来设置小兵的队伍的生成,为小兵设置一个目标从己方出生点攻打对方出生点,优化小兵的血条UI
小兵皮肤切换与生成管理系统 本文实现了一个基于UE4的小兵皮肤切换和生成管理系统。通过创建Minion类继承自CCharacter基类,实现了根据队伍ID自动切换小兵皮肤的功能。系统使用SkinMap映射表存储不同队伍对应的皮肤模型,在设置队伍ID时自动更新模型。 同时建立了MinionBarrack兵营类来管理小兵的生成,主要功能包括: 按队伍ID批量生成小兵 支持设置生成间隔和每组数量 使用对象池管理小兵实例 轮流使用预设出生点 网络同步处理(仅服务器生成) 系统通过蓝图配置皮肤和生成参数,提供了灵活的
2025-07-11 18:39:00
543
原创 UE5多人MOBA+GAS 17、制作小兵的动画蓝图、攻击GA以及死亡和复活的AI感知开关
本文介绍了为游戏小兵创建动画蓝图和战斗系统的完整流程。首先通过添加素材和创建动画蓝图,为小兵配置了基础动画资源。接着制作了攻击GA(Gameplay Ability)及相关动画蒙太奇,并在蓝图中设置了伤害GE(Gameplay Effect)以实现攻击逻辑。然后创建了可复用的受击特效父类GC_Hit,并配置了受击响应系统。最后实现了AI感知系统的启停逻辑,通过监听死亡标签来控制小兵死亡/复活时的行为,包括清除感知数据、停止AI逻辑等。整个过程涵盖了从视觉表现到战斗逻辑的完整AI角色开发流程。
2025-07-10 17:18:03
608
原创 UE5多人MOBA+GAS 16、禁用AI自动感知,手动注册感知以及添加AI的行走朝向和攻击行为
AI感知与行为控制配置摘要 在Unreal Engine中,通过修改DefaultGame.ini禁用AI自动感知功能(bAutoRegisterAllPawnsAsSources=false),需手动注册Pawn为感知源。建议搭配以下实现: 感知源管理: 角色类添加UAIPerceptionStimuliSourceComponent 通过BeginPlay注册感知,死亡时禁用感知,复活时重新启用 AI控制器优化: 实现ForgetActorIfDead函数立即清除死亡目标的感知数据 在TargetPer
2025-07-10 00:50:59
685
原创 UE5多人MOBA+GAS 15、添加AI(行为树和黑板)(添加我对队伍血条的区分,残缺版)
摘要 本文主要介绍了在游戏开发中修改敌我血条颜色区分的方法,并添加了AI控制功能。首先通过在ValueGauge类中添加颜色设置函数,区分友方绿色和敌方红色血条。然后通过判断角色阵营关系动态调整血条颜色显示,同时解决了UI组件初始化时颜色冲突的问题。第二部分实现了AI控制器,添加了感知组件和视觉感知配置,为NPC角色提供基础AI行为支持。开发过程中遇到并解决了血条颜色初始化时机、网络同步等问题,最终实现了敌我血条颜色区分和基础AI功能。
2025-07-09 17:33:56
1006
1
原创 UE5多人MOBA+GAS 14、为角色添加团队接口,游戏模式中设置团队出生点以及阻止友伤
获取团队ID(默认返回的是 FGenericTeamId::NoTeam,即未加入任何团队的状态。需要重载设置函数以及获取函数,以及定义一个变量来存储团队ID,并对变量ID进行网络复制。否则,默认返回 ETeamAttitude::Neutral(中立)。此函数用于判断当前对象对另一个对象的态度(例如:敌对、友好或中立)。在地图中添加玩家出生点,设置玩家出生标签,来选定角色出生点。中添加上该接口(这个应该是给AI怪用的)团队管理中需要用到的东西在这个。有蓝图的游戏模式中添加映射。添加这个团队管理的接口。
2025-07-09 00:34:52
625
原创 UE5多人MOBA+GAS 13、添加死亡、复活逻辑以及布娃娃含物理资产的修改调整
摘要:本文介绍了使用Gameplay Effect (GE) 为角色添加定时死亡Tag的方法。主要内容包括:1) 定义死亡Tag Stats_Dead;2) 创建死亡GE GE_Death,配置持续时间策略和属性基础计算;3) 在AbilitySystemComponent中监听生命值变化,当生命值为0时应用死亡GE;4) 在角色类中监听Tag变化,实现死亡和复活逻辑。最后还涉及了动画蒙太奇播放、UI状态条控制等功能的实现。
2025-07-07 18:18:35
1140
原创 UE5多人MOBA+GAS 12、使用GC添加特效、摄像机晃动以及受击动画
打过去就看到敌人的受击动画了(感觉这种做法不是很好的样子)去ComboGE中添加上摄像机震动。这样挨打的那个玩家的屏幕就会震动。添加摄像机抖动蓝图,命名为。他就会消失,然后会出现在。一拳打过去就能看见特效了。在动画蓝图添加新的插槽。这样就可以一次给每个。
2025-07-06 23:14:50
248
原创 UE5多人MOBA+GAS 11、制作攻击检测
随后复制成为4份(啃臭c啃臭v不知道会不会有bug,本人之前因为啃臭cv出现过问题)(感觉加不加都可以,似乎毫无用武之地,我在AN里已经处理完了)三个点连起来进行检测(本人觉得颇为麻烦且诡异)这边就先把完整的代码附上,产生报错的话到。重载开始,帧,以及结束三个函数。依然是使用到动画通知,命名为。在编辑器中创建GE蓝图命名为。处添加代码,处理接收伤害。如果你使用我的ans的话。粗略的添加一部分代码。中添加应用伤害的函数。
2025-07-06 18:04:40
534
1
原创 UE5多人MOBA+GAS 10、在GameplayAbility中制作连段攻击(二)
由于在上期中只是草率的在蓝图中做了一个点击左键鼠标激活技能,没有用到增强输入系统,为此删掉他,使用增强输入系统。然后去技能系统中进行绑定 ,将存储技能的变量由原来的。在动画中添加动画通知以及对应的tag,将。四个Combo标签,清除每个片段的链接。回到蓝图中添加映射,又可以挥动拳头了。,把剩下的资源都拖进去,补全。在cpp中创建类,命名为。接下来回到c++中,去到。函数来绑定对应输入的技能。创建一个动画通知,命名为。中:在输入的地方添加了。用来存放输入,以及添加。在蓝图中重新绑定技能。
2025-07-05 23:26:58
466
原创 UE5多人MOBA+GAS 9、在GameplayAbility中制作连段攻击(一)
GamplayAbility 简称 GA,是GAS里面做技能的地方,释放的技能都通过他来实现,同时负责法力的消耗以及cd的管理。
2025-07-05 16:44:02
518
原创 UE5多人MOBA+GAS 8、制作头部血条
中添加UI组件以及初始化函数,像血条这种东西我们就不用在自己头上亮血条了,还需要一个判断角色是否由本地玩家控制。随后在蓝图中设置,于此就能实现头部血条的制作。添加血条和蓝条,以及绑定回调用的函数。随后在引擎继承该类创建蓝图。超出一定距离后ui界面消失。构造函数中添加如下,并对。添加一个cpp类继承。
2025-07-04 18:54:11
148
原创 UE5多人MOBA+GAS 7、制作血条和蓝条的UI界面并绑定到属性
到文件中添加三个模块2、在蓝图中继承该类放入一个,设置为再放入一个和并将命名改为中对应的再用包裹来调节的大小控制进度条的进度调节cpp定义的来调节进度条的颜色在中创建ui在客户端中创建UI,服务器用来负责逻辑的回到蓝图中继承创建蓝图类拖入面板以及两个WBP_ValueGuage修改为变量的命名就不会发生报错了,再用垂直框包裹他们在填充可以设置间距再把魔法条改成蓝色修改一下垂直框的位置再去蓝图的玩家控制器中设置一下这个UI类运行游戏
2025-07-04 16:07:09
574
原创 UE5多人MOBA+GAS 6、使用GameplayEffect给角色属性赋值
的客户端响应服务器的更改做完了,所有我们的客户端的数据可以更新。中添加两个函数,用于定义服务器初始化以及客户端初始化。的GE蓝图,需要按照顺序来,因为第二个ge需要按照。函数的实现,数据的修改在服务器中进行。文件中重载服务器和客户端调用时的函数。赋值的函数以及存放GE的数组变量。让我们回到角色蓝图搜。运行游戏就能够成功。由于我在上集用以及对。
2025-07-03 22:22:32
266
原创 UE5多人MOBA+GAS 5、使用GAS技能系统
定义,其可以设置最大值和最小值,但Epic注意这个结构体"work in progress"。方法在本地值和服务器下发的值即使已经相同也会触发(为了预测),默认情况下OnRep不会触发。如果角色获取了一个50单位/秒的速度加成(BUFF),这是不正确的, 能够被技能或者UI使用的。函数,当前设置会生成四个函数,获取属性,获取值,设置值,以及初始化值。中的最大值和最小值仅用于属性值的限定(Clamping)。,而持续(Duration) 和永恒(Infinite)宏的设置,编译时会默认给变量生成相应的。
2025-07-03 17:58:47
1374
原创 UE5多人MOBA+GAS 4、动画蓝图:瞄准偏移和足部的控制(二)
中,创建一个旋转变量来记录瞄准偏移值,再来两个函数调用需要的对应值来传参到动画蓝图中使用这个瞄准偏移动画。的,这样角色的头就可以左右看了(在我使用之后我发现这个东西似乎有一个bug23333)。上面的是foot ik下面是root,不过这里无需在意是什么,调用这个函数的时候可以改。在定义一个布尔变量(这是后面加上来了,后面图片没看见这个也无需在意)资产,但是我总感觉不太得劲没有物尽其用的效果。于是乎我把左右两边的资产换了一个,换成这个带。最后再蓝图中如此如此就大功告成了!回到动画蓝图中加上这个控制绑定。
2025-07-02 18:51:10
358
原创 UE5多人MOBA+GAS 3、动画蓝图:待机走路以及跳跃(一)
重写初始化函数和tick函数以及创建需要一直调用的角色类和运动类,减少Cast的开销。Jumping则创造新的状态机,因为其中含有起跳动画以及跳跃中两个动画。为了使用如此高端的操作,需要在代码中额外添加一些新的变量来使用。文件中添加判断是否跳跃变量以及调用变量的函数。在添加一个记录速度的变量以及调用的函数。的meta,这里放一个大钊大佬的解释,里面创建两个状态,状态的过渡如下设置。调用刚刚存放的地面走路状态。创建一个动画状态机命名为。左边是对应的动画以及参数。状态,之间的过渡状态。为各自状态提供动画,
2025-07-01 22:37:28
672
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人