自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 UE5多人MOBA+GAS 番外篇:使用ECC(UGameplayEffectExecutionCalculation)制作伤害计算的流程

本文介绍了在Unreal Engine中使用Gameplay Ability System (GAS)实现伤害计算系统的过程。主要包含以下内容: 定义了伤害计算所需的各种属性,包括基础伤害、攻击力、护甲穿透、伤害加深等攻击方属性,以及护甲、伤害减免等防御方属性。 创建了自定义的GameplayEffectExecutionCalculation类UECC_AttackDamage,用于执行伤害计算逻辑。 使用FDamageStatics结构体定义属性捕获规则,并通过DEFINE_ATTRIBUTE_CAPT

2025-07-18 23:12:06 1186

原创 UE5多人MOBA+GAS 25、创建数据表初始化属性,使用MMC计算伤害

摘要:本文介绍了在Unreal Engine中使用数据表初始化角色属性的方法。首先创建了一个包含力量、智力、生命值等基础属性的结构体FHeroBaseStats,然后通过数据表格填充具体数值。在UCAbilitySystemComponent中实现了属性初始化功能,包括查找匹配的角色类数据行并设置各项基础属性。文章还展示了如何将移动速度属性与角色移动组件绑定,以及使用Gameplay Mod Magnitude Calculation(MMC)来计算基础攻击伤害。最后通过Gameplay Effect应用这

2025-07-17 18:38:09 407

原创 UE5多人MOBA+GAS 24、创建属性UI(一)

本文展示了在Unreal Engine中使用AttributeSet进行属性管理的代码实现。主要包含两个部分:基础属性集UCAttributeSet和英雄专用属性集UCHeroAttributeSet。前者定义了攻击力、护甲值、移动速度和加速度等基础战斗属性,后者则扩展了智力、力量、经验值、等级、金币等RPG角色成长属性。所有属性都通过UPROPERTY宏标记为可复制属性,并实现了网络同步功能。文章提供了完整的属性定义、访问器宏使用和属性变化回调处理,展示了如何在UE中构建复杂的游戏属性系统。

2025-07-16 22:45:02 520

原创 UE5多人MOBA+GAS 23、制作一个地面轰炸的技能

本文摘要介绍了在虚幻引擎中创建新技能(GroundBlast)的完整流程。该技能分为瞄准和射击两个阶段,使用C++实现GameplayAbility基类,通过动画蒙太奇实现技能动作。文章详细展示了技能蓝图的创建、输入绑定、数据表配置等步骤,并重点说明了如何通过GameplayTag实现瞄准状态控制,包括角色朝向调整和动画状态响应。关键技术点包括:技能阶段划分、动画任务处理、GameplayTag状态同步,以及角色移动组件与动画实例的交互实现。

2025-07-15 23:18:50 760

原创 UE5多人MOBA+GAS 22、创建技能图标UI,实现显示蓝耗,冷却,以及数字显示的倒数计时还有雷达显示的倒数计时

本文介绍了在虚幻引擎中创建技能图标UI的实现过程。主要内容包括:1) 创建AbilityGauge类作为技能UI基类,包含图标、冷却计时等控件;2) 从角色组件获取技能表数据并传递给UI;3) 构建技能列表视图AbilityListView,通过数据表配置技能属性;4) 实现UI与游戏逻辑的交互,将技能数据绑定到列表控件。文中提供了详细的代码片段和配置步骤,展示了如何调整UI布局并关联技能数据,最终实现动态的技能图标显示功能。

2025-07-14 20:23:03 590

原创 UE5多人MOBA+GAS 21、给升龙添加连段攻击,从角色的按下事件中传递事件给GA

本文介绍了为升龙技能添加连段功能的实现方法。主要技术点包括:1) 通过缓存下一连段名称实现连招序列管理;2) 使用输入检测机制触发后续连段;3) 设计伤害效果结构体传递连段伤害数据。关键实现步骤为:在升龙技能类中监听连招切换事件并缓存下一连段名称;在角色类中处理普攻按键输入并发送游戏事件;通过服务器RPC确保输入事件同步;使用伤害效果结构体存储各连段的伤害值和击飞力度。这种设计实现了流畅的空中连段效果和伤害传递机制,同时确保网络同步可靠性。

2025-07-13 22:46:28 698

原创 UE5多人MOBA+GAS 20、添加眩晕

本文介绍了如何在游戏中实现眩晕功能。首先通过定义眩晕标签(Stats_Stun)并使用GameplayEffect(GE)设置眩晕时长,将眩晕GE添加到伤害GE中。然后在角色基类中处理眩晕标签更新,添加眩晕动画播放逻辑,包括禁用玩家输入和AI逻辑。AI控制器需要监听眩晕状态变化来控制行为树启停。技能系统需设置眩晕状态下的技能禁用,但被动技能需移除该限制。最后配置了NPC的眩晕动画蒙太奇,实现了角色被攻击时播放眩晕动画的效果。整个系统通过游戏标签(GAS)实现状态管理,确保眩晕效果与角色行为正确联动。

2025-07-13 17:13:10 409

原创 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 597

原创 UE5多人MOBA+GAS 18、用对象池来设置小兵的队伍的生成,为小兵设置一个目标从己方出生点攻打对方出生点,优化小兵的血条UI

小兵皮肤切换与生成管理系统 本文实现了一个基于UE4的小兵皮肤切换和生成管理系统。通过创建Minion类继承自CCharacter基类,实现了根据队伍ID自动切换小兵皮肤的功能。系统使用SkinMap映射表存储不同队伍对应的皮肤模型,在设置队伍ID时自动更新模型。 同时建立了MinionBarrack兵营类来管理小兵的生成,主要功能包括: 按队伍ID批量生成小兵 支持设置生成间隔和每组数量 使用对象池管理小兵实例 轮流使用预设出生点 网络同步处理(仅服务器生成) 系统通过蓝图配置皮肤和生成参数,提供了灵活的

2025-07-11 18:39:00 833

原创 UE5多人MOBA+GAS 17、制作小兵的动画蓝图、攻击GA以及死亡和复活的AI感知开关

本文介绍了为游戏小兵创建动画蓝图和战斗系统的完整流程。首先通过添加素材和创建动画蓝图,为小兵配置了基础动画资源。接着制作了攻击GA(Gameplay Ability)及相关动画蒙太奇,并在蓝图中设置了伤害GE(Gameplay Effect)以实现攻击逻辑。然后创建了可复用的受击特效父类GC_Hit,并配置了受击响应系统。最后实现了AI感知系统的启停逻辑,通过监听死亡标签来控制小兵死亡/复活时的行为,包括清除感知数据、停止AI逻辑等。整个过程涵盖了从视觉表现到战斗逻辑的完整AI角色开发流程。

2025-07-10 17:18:03 640

原创 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 708

原创 UE5多人MOBA+GAS 15、添加AI(行为树和黑板)(添加我对队伍血条的区分,残缺版)

摘要 本文主要介绍了在游戏开发中修改敌我血条颜色区分的方法,并添加了AI控制功能。首先通过在ValueGauge类中添加颜色设置函数,区分友方绿色和敌方红色血条。然后通过判断角色阵营关系动态调整血条颜色显示,同时解决了UI组件初始化时颜色冲突的问题。第二部分实现了AI控制器,添加了感知组件和视觉感知配置,为NPC角色提供基础AI行为支持。开发过程中遇到并解决了血条颜色初始化时机、网络同步等问题,最终实现了敌我血条颜色区分和基础AI功能。

2025-07-09 17:33:56 1029 1

原创 UE5多人MOBA+GAS 14、为角色添加团队接口,游戏模式中设置团队出生点以及阻止友伤

获取团队ID(默认返回的是 FGenericTeamId::NoTeam,即未加入任何团队的状态。需要重载设置函数以及获取函数,以及定义一个变量来存储团队ID,并对变量ID进行网络复制。否则,默认返回 ETeamAttitude::Neutral(中立)。此函数用于判断当前对象对另一个对象的态度(例如:敌对、友好或中立)。在地图中添加玩家出生点,设置玩家出生标签,来选定角色出生点。中添加上该接口(这个应该是给AI怪用的)团队管理中需要用到的东西在这个。有蓝图的游戏模式中添加映射。添加这个团队管理的接口。

2025-07-09 00:34:52 658

原创 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 1149

原创 UE5多人MOBA+GAS 12、使用GC添加特效、摄像机晃动以及受击动画

打过去就看到敌人的受击动画了(感觉这种做法不是很好的样子)去ComboGE中添加上摄像机震动。这样挨打的那个玩家的屏幕就会震动。添加摄像机抖动蓝图,命名为。他就会消失,然后会出现在。一拳打过去就能看见特效了。在动画蓝图添加新的插槽。这样就可以一次给每个。

2025-07-06 23:14:50 253

原创 UE5多人MOBA+GAS 11、制作攻击检测

随后复制成为4份(啃臭c啃臭v不知道会不会有bug,本人之前因为啃臭cv出现过问题)(感觉加不加都可以,似乎毫无用武之地,我在AN里已经处理完了)三个点连起来进行检测(本人觉得颇为麻烦且诡异)这边就先把完整的代码附上,产生报错的话到。重载开始,帧,以及结束三个函数。依然是使用到动画通知,命名为。在编辑器中创建GE蓝图命名为。处添加代码,处理接收伤害。如果你使用我的ans的话。粗略的添加一部分代码。中添加应用伤害的函数。

2025-07-06 18:04:40 542 1

原创 UE5多人MOBA+GAS 10、在GameplayAbility中制作连段攻击(二)

由于在上期中只是草率的在蓝图中做了一个点击左键鼠标激活技能,没有用到增强输入系统,为此删掉他,使用增强输入系统。然后去技能系统中进行绑定 ,将存储技能的变量由原来的。在动画中添加动画通知以及对应的tag,将。四个Combo标签,清除每个片段的链接。回到蓝图中添加映射,又可以挥动拳头了。,把剩下的资源都拖进去,补全。在cpp中创建类,命名为。接下来回到c++中,去到。函数来绑定对应输入的技能。创建一个动画通知,命名为。中:在输入的地方添加了。用来存放输入,以及添加。在蓝图中重新绑定技能。

2025-07-05 23:26:58 476

原创 UE5多人MOBA+GAS 9、在GameplayAbility中制作连段攻击(一)

GamplayAbility 简称 GA,是GAS里面做技能的地方,释放的技能都通过他来实现,同时负责法力的消耗以及cd的管理。

2025-07-05 16:44:02 529

原创 UE5多人MOBA+GAS 8、制作头部血条

中添加UI组件以及初始化函数,像血条这种东西我们就不用在自己头上亮血条了,还需要一个判断角色是否由本地玩家控制。随后在蓝图中设置,于此就能实现头部血条的制作。添加血条和蓝条,以及绑定回调用的函数。随后在引擎继承该类创建蓝图。超出一定距离后ui界面消失。构造函数中添加如下,并对。添加一个cpp类继承。

2025-07-04 18:54:11 158

原创 UE5多人MOBA+GAS 7、制作血条和蓝条的UI界面并绑定到属性

到文件中添加三个模块2、在蓝图中继承该类放入一个,设置为再放入一个和并将命名改为中对应的再用包裹来调节的大小控制进度条的进度调节cpp定义的来调节进度条的颜色在中创建ui在客户端中创建UI,服务器用来负责逻辑的回到蓝图中继承创建蓝图类拖入面板以及两个WBP_ValueGuage修改为变量的命名就不会发生报错了,再用垂直框包裹他们在填充可以设置间距再把魔法条改成蓝色修改一下垂直框的位置再去蓝图的玩家控制器中设置一下这个UI类运行游戏

2025-07-04 16:07:09 578

原创 UE5多人MOBA+GAS 6、使用GameplayEffect给角色属性赋值

的客户端响应服务器的更改做完了,所有我们的客户端的数据可以更新。中添加两个函数,用于定义服务器初始化以及客户端初始化。的GE蓝图,需要按照顺序来,因为第二个ge需要按照。函数的实现,数据的修改在服务器中进行。文件中重载服务器和客户端调用时的函数。赋值的函数以及存放GE的数组变量。让我们回到角色蓝图搜。运行游戏就能够成功。由于我在上集用以及对。

2025-07-03 22:22:32 270

原创 UE5多人MOBA+GAS 5、使用GAS技能系统

定义,其可以设置最大值和最小值,但Epic注意这个结构体"work in progress"。方法在本地值和服务器下发的值即使已经相同也会触发(为了预测),默认情况下OnRep不会触发。如果角色获取了一个50单位/秒的速度加成(BUFF),这是不正确的, 能够被技能或者UI使用的。函数,当前设置会生成四个函数,获取属性,获取值,设置值,以及初始化值。中的最大值和最小值仅用于属性值的限定(Clamping)。,而持续(Duration) 和永恒(Infinite)宏的设置,编译时会默认给变量生成相应的。

2025-07-03 17:58:47 1382

原创 UE5多人MOBA+GAS 4、动画蓝图:瞄准偏移和足部的控制(二)

中,创建一个旋转变量来记录瞄准偏移值,再来两个函数调用需要的对应值来传参到动画蓝图中使用这个瞄准偏移动画。的,这样角色的头就可以左右看了(在我使用之后我发现这个东西似乎有一个bug23333)。上面的是foot ik下面是root,不过这里无需在意是什么,调用这个函数的时候可以改。在定义一个布尔变量(这是后面加上来了,后面图片没看见这个也无需在意)资产,但是我总感觉不太得劲没有物尽其用的效果。于是乎我把左右两边的资产换了一个,换成这个带。最后再蓝图中如此如此就大功告成了!回到动画蓝图中加上这个控制绑定。

2025-07-02 18:51:10 365

原创 UE5多人MOBA+GAS 3、动画蓝图:待机走路以及跳跃(一)

重写初始化函数和tick函数以及创建需要一直调用的角色类和运动类,减少Cast的开销。Jumping则创造新的状态机,因为其中含有起跳动画以及跳跃中两个动画。为了使用如此高端的操作,需要在代码中额外添加一些新的变量来使用。文件中添加判断是否跳跃变量以及调用变量的函数。在添加一个记录速度的变量以及调用的函数。的meta,这里放一个大钊大佬的解释,里面创建两个状态,状态的过渡如下设置。调用刚刚存放的地面走路状态。创建一个动画状态机命名为。左边是对应的动画以及参数。状态,之间的过渡状态。为各自状态提供动画,

2025-07-01 22:37:28 682

原创 UE5多人MOBA+GAS 2、基础框架的搭建及角色添加基本组件以及增强输入系统的配置

之后就能让角色动起来。使用角色是这个免费的小机器人。

2025-06-30 22:35:57 563 7

原创 UE5多人MOBA+GAS 1、Git和GitHub Cli的初始化

关于UE中Git和GitHub的初始化

2025-06-30 18:30:54 490

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除