
UE5 GAS RPG
文章平均质量分 89
这个是本人学习UE的GAS系统的教程的笔记,如果需要对应的教程的内容或者源码,可以通过文章底部链接进群沟通交流。
暮志未晚NAN
这个作者很懒,什么都没留下…
展开
-
117. UE5 GAS RPG 实现游戏暂停退出功能(完结篇)
不知不觉来到了教程的最后一篇了,这一篇也是这个教程的最后一节笔记了。在这篇文章里,我们实现一下退出功能,在游玩过程中,可以通过esc键或者右上角的退出按钮实现弹出退出游戏弹框。可以通过再次点击esc或者点击取消按键继续游玩,实现暂停功能。如果点击确认,将会回到主界面,在主界面退出游戏。原创 2024-12-05 17:29:01 · 1369 阅读 · 6 评论 -
116. UE5 GAS RPG 实现击杀掉落战利品功能
这一篇,我们实现敌人被击败后,掉落战利品的功能。首先,我们将创建一个新的结构体,用于定义掉落体的内容,方便我们设置掉落物。然后,我们实现敌人死亡时的掉落函数,并在蓝图里实现对应的逻辑,在场景里生成掉落物。最后,让掉落物动起来,显得掉落物需要玩家赶紧去拾取的感觉。原创 2024-12-05 11:56:10 · 1706 阅读 · 0 评论 -
115. UE5 GAS RPG 实现角色死亡后从存档点复活
随便我们回忆一下设置在角色基类上的死亡函数,它就实现了将武器分离,然后通过一个多播函数(在每个端都会执行的函数),来执行死亡后的处理,并开启角色和武器的物理效果,并将角色的碰撞体关闭,防止对开启物理效果的角色和武器造成碰撞影响。在函数实现这里,我们还是需要调用父类的死亡函数,处理之前的逻辑,然后我们创建一个计时器委托,用于绑定计时回调,回调里,我们绑定了一个匿名函数,在匿名函数里调用GameMode的PlayerDied函数。我们要实现的功能是在角色死亡后,会在一段时间后,自动在上一次存档位置复活。原创 2024-12-03 20:41:19 · 948 阅读 · 0 评论 -
114. UE5 GAS RPG 实现配置怪物生成
之前,我们怪物生成是直接将怪物蓝图拖入到场景中,这样好处是清晰明了,坏处就是场景怪物过多会造成卡顿,并且地图加载时间过长。我们想做一个通用的生成工具,可以配置敌人使用的蓝图等级和职业,并且在角色进入到一定位置后,才会生成敌人。原创 2024-12-03 15:01:07 · 1341 阅读 · 0 评论 -
113. UE5 GAS RPG 实现传送点切换地图
接着我们优化体验相关,首先实现检查点可以在选中点击后,可以自动移动到目标检查点。然后增加一个可以提示玩家已经探索过相关区域的光柱,最后增加一个传送点,可以通过传送点传送到其它关卡。原创 2024-11-29 17:11:56 · 1186 阅读 · 0 评论 -
112. UE5 GAS RPG 制作高亮接口
我们在之前,实现过高亮的效果,之前,高亮只用在了敌人身上,鼠标悬停到敌人身上时,敌人身上能够出现红色的描边。在这一篇里,我们想将高亮描边功能单独成为一个接口,能够将其应用到更多地方。首先我们回忆一下之前如何实现此功能,此功能需要使用自定义深度来实现,通过后处理,我们需要开启自定义深度,在项目设置-渲染里找到。在场景里添加后处理体积,并在后期处理材质里添加自定义的材质。这个材质有两个地方我们可以去修改,如果需要的小伙伴可以通过加群获取一个是修改描边大小另一个是设置自定义数值对应的颜色。原创 2024-11-28 11:48:49 · 726 阅读 · 0 评论 -
111. UE5 GAS RPG 实现角色技能和场景状态保存到存档
首先,我们在LoadScreenSaveGame.h文件里,增加一个结构体,用于存储技能相关的所有信息然后重新设置==运算符的方法,如果我们在判断FSavedAbility是否相等时,会通过此函数运算返回布尔结果。然后我们在SaveGame类里添加一个属性,用于保存所有技能属性。有了相关数据可以存储到存档后,我们可以在角色保存时,实现保存技能相关数据。原创 2024-11-26 21:00:49 · 1387 阅读 · 0 评论 -
110. UE5 GAS RPG 实现玩家角色数据存档
在这篇,我们实现将玩家数据保存到存档内。原创 2024-11-20 19:57:36 · 1566 阅读 · 0 评论 -
109. UE5 GAS RPG 实现检查点的存档功能
存档加载关卡后,需要一个出生位置,如果场景里有多个PlayerStart,我们如何确定让角色在哪个PlayerStart生成呢?答案是,我们可以为每个PlayerStart设置标签,然后覆写GameMode的选择初始点的函数来实现。首先,我们实现对数据的全局存储,这里需要使用到GameInstance,我们将其作为父类,实现一个派生类,来实现自定义的需求。设置自定义命名。原创 2024-11-18 18:36:08 · 1387 阅读 · 0 评论 -
108. UE5 GAS RPG 实现地图名称更新和加载关卡
在这一篇里,我们将实现对存档的删除功能,在删除时会有弹框确认。接着实现获取玩家的等级和地图名称和存档位置,我们可以通过存档进入游戏,玩家在游戏中可以在存档点存储存档。原创 2024-11-14 16:32:21 · 1565 阅读 · 0 评论 -
107. UE5 GAS RPG 实现存档
游戏的存档功能是为了记录当前的游戏进度,然后在下次游玩时,玩家可以通过存档在当前进度继续游玩。要实现存档功能,我们要先明白哪些数据需要存储。在这个教程里,我们需要存储角色的主要属性,次级属性是根据主要属性计算出来的,不需要存储。我们还要存储当前角色未分配的技能点和属性点,还有经验值和玩家等级。还有重要的一项就是玩家设置的技能相关,我们可以通过技能标签记录玩家修改的对应的技能的相关数据,比如设置的技能等级,是否装配到技能栏等。最后,我们还需要保存玩家角色所在的地图以及位置等一些额外信息。原创 2024-11-12 20:17:49 · 1247 阅读 · 0 评论 -
106. UE5 GAS RPG 使用MVVM
MVVM 是 Model-View-ViewModel的缩写,个人理解它和MVC很相似,有区别的地方在于,在MVC里,Controller会服务多个View,而MVVM里,每个View都拥有一个单独的ViewModel,所以ViewModel相当于精简版的Controller。在这一篇文章里,我们将使用UE5新增的MVVM插件实现对UI控件的动态更新。原创 2024-11-11 16:42:14 · 1559 阅读 · 0 评论 -
105. UE5 GAS RPG 搭建主菜单
在这一篇,我们将实现对打开游戏显示的主菜单进行搭建,主菜单将显示游戏主角,游戏名称和进入游戏和退出游戏两个按钮。原创 2024-11-05 20:20:06 · 1084 阅读 · 0 评论 -
104. UE5 GAS RPG 实现技能火焰爆炸
这一篇文章我们再实现一个技能火焰爆炸,由于我们之前已经实现了三个玩家技能,这一个技能有一些总结的味道,对于创建技能相同的部分,长话短说,我们过一遍。原创 2024-11-01 18:16:34 · 1287 阅读 · 0 评论 -
103. UE5 GAS RPG 实现奥数爆发消耗和冷却 以及技能的描述
接着上一篇,我们实现一下技能对玩家友好的设定,设置实现多个技能的描述,方便玩家查看技能的相关信息。之前的闪电链的技能的描述我们也未实现,在这里,我们将它们一起实现。原创 2024-10-29 15:04:28 · 679 阅读 · 0 评论 -
102. UE5 GAS RPG 实现范围技能奥术伤害
在上一篇文章里,我们在技能蓝图里实现了通过技能实现技能指示,再次触发按键后,将通过定时器触发技能效果表现,最多支持11个奥术个体效果的播放。在这一篇里,我们将实现技能播放时,对目标敌人应用技能伤害。首先,我们将在GE里增加一些额外的参数,并且会设置序列化,可以同步到服务器,并在伤害技能类里创建配置项时增加对应参数,通过函数库应用时,将参数设置到GE实例,并在计算伤害的代码里,获取参数,并计算最终伤害。原创 2024-10-27 17:26:00 · 1948 阅读 · 0 评论 -
101. UE5 GAS RPG 实现范围技能奥术爆发表现
在上一篇文章里,我们实现了范围技能的范围指示功能。范围指示是在释放技能前,确认技能的攻击范围,在确认位置后,通过额外按键进行触发技能释放。在这一篇里,我们将先实现在技能里使用范围指示,并能够播放对应的动作,特效和音效。原创 2024-10-24 19:46:39 · 1479 阅读 · 0 评论 -
100. UE5 GAS RPG 显示范围魔法的攻击范围
在这一篇里,我们将制作一个范围魔法,释放魔法时,我们将在鼠标拾取位置绘制一个魔法光圈,用于显示技能释放时攻击的范围,然后再次点击可以释放技能。原创 2024-10-16 18:18:21 · 980 阅读 · 0 评论 -
99. UE5 GAS RPG 被动技能实现
在这一篇,我们在之前打下的基础下,实现一下被动技能。被动技能需要我们在技能栏上面选择升级解锁技能后,将其设置到技能栏,我们先增加被动技能使用的标签。注册一下。原创 2024-10-15 20:51:09 · 1255 阅读 · 0 评论 -
98. UE5 GAS RPG 实现技能眩晕效果
我们在技能伤害基类上面设置了对应的负面效果应用的配置项,用来实现技能的负面效果应用。在之前实现火球术的负面效果时,我们我们在创建火球时,通过伤害基类上的创建技能配置用于后续应用。在火球攻击到敌人时,通过函数库书写的通过配置项应用到目标,我们将所需的配置设置到GE实例上然后在AS里应用伤害时,我们去判断当前伤害是否需要应用负面效果,来实现负面效果的应用,然后调用函数实现对GE的添加。在实现负面效果时,GE会将对应的负面效果标签应用给目标ASC。原创 2024-10-11 16:43:36 · 1310 阅读 · 1 评论 -
97. UE5 GAS RPG 实现闪电链技能(二)
书接上回,如果没有查看上一篇文章的同学推荐先看上一章,我们接着实现闪电链技能。在上一章最后,我们实现了闪电链的第一条链,能够正确显示特效,接下来,我们先实现它的音效和一些bug修复。我们在多端网络里,只能查看到角色播放了闪电链开始攻击,但是没有持续攻击动画,原因是因为在角色身上的变量没有设置可复制,我们修改一下即可。原创 2024-10-05 19:38:04 · 1408 阅读 · 3 评论 -
96. UE5 GAS RPG 实现闪电链技能(一)
闪电链有一个施法的过程,就是在按键按下的过程,会在按下的过程一直持续造成伤害,一直等到条件不满足(技能键位抬起,蓝量不足,被眩晕)时,将结束技能,并退出技能状态。所以,首先我们将实现技能的持续释放状态。原创 2024-09-22 17:49:33 · 1872 阅读 · 1 评论 -
95. UE5 GAS RPG 实现创建多段飞弹攻击敌人
从这篇开始,我们将实现一些技能,比如多段火球术,闪电链等等。在这一篇里,我们先实现多段火球术,技能可以通过配置发射出多个火球术进行攻击。原创 2024-09-11 17:30:12 · 1745 阅读 · 0 评论 -
94. UE5 GAS RPG 实现攻击击退效果
在这一篇里,我们增加一些功能,就是技能击中敌人后,能够让敌人产生一些击退效果,如果敌人死亡,能够产生较大幅度的击退效果。我们将首先将实现敌人死亡被击退的效果,然后再此基础上,实现攻击击退的效果。要实现敌人死亡时,受到技能的冲击,我们需要可以在技能上设置技能的冲击力,并且修改死亡函数,可以在死亡时给死亡角色模型应用冲击力。原创 2024-09-06 18:05:49 · 1935 阅读 · 0 评论 -
93. UE5 GAS RPG 应用负面效果表现
为了能够自定义负面效果表现的自动开关功能,我们需要自己扩展Niagara类,在里面增加内容。我们基于NiagaraComponent创建一个派生类设定好相关名称和目录在派生类里,我们添加构造函数,设置标识当前对应的负面效果的标签,以及对应标签变动回调以及角色死亡回调。UCLASS()public://用来标识粒子系统的标签protected://覆写开始运行//当前的负面标签变动回调//在角色死亡时的回调在构造函数中,我们将自动激活关闭//关闭自动激活。原创 2024-09-04 09:42:16 · 1120 阅读 · 0 评论 -
92. UE5 GAS RPG 使用C++创建GE实现灼烧的负面效果
在正常游戏里,有些伤害技能会携带一些负面效果,比如火焰伤害的技能会携带燃烧效果,敌人在受到伤害后,会接受一个燃烧的效果,燃烧效果会在敌人身上持续一段时间,并且持续受到火焰灼烧。我们将在这一篇文章里,实现伤害技能附带负面效果,并可以设置负面效果的参数,来实现对敌人添加负面buff。原创 2024-08-30 16:08:56 · 2256 阅读 · 0 评论 -
91. UE5 GAS RPG 实现拖拽装配技能以及解除委托的绑定
在上一篇文章里,实现了通过选中技能,然后点击下方的装备技能插槽实现了技能的装配。为了丰富技能装配功能,在这一篇里,我们实现一下通过拖拽技能,实现拖拽功能,我们需要修改两个用户控件,一个就是技能按钮,我们需要在里面增加拖拽的功能,并且不能够与点击事件产生冲突,然后我们还需要在装配插槽增加拖拽放入的事件处理,在拖入技能装配插槽后,处理对应的逻辑。原创 2024-08-21 15:52:51 · 1882 阅读 · 2 评论 -
90. UE5 GAS RPG 实现技能的装配
在上一篇里,我们实现了在技能面板,点击技能能够显示出技能的相关描述以及下一级的技能的对应描述。在这一篇里,我们实现一下技能的装配。在之前,我们实现了点击按钮时,在技能面板控制器里存储了当前选中的技能的相关信息,有了这个信息以后,我们在实现装配时,可以使用这个数据进行处理。当选中技能后,我们接着点击下面的技能插槽时,如果符合装配条件,我们将实现装配到对应的插槽。原创 2024-08-19 15:57:36 · 1464 阅读 · 0 评论 -
89. UE5 GAS RPG 实现伤害 冷却 消耗技能描述
在上一篇文章里,我们能够通过富文本显示多种格式的文字,并显示技能描述。在这一篇文章里,我们继续优化技能描述,将技能说需要显示的内容显示出来。原创 2024-08-13 17:46:28 · 1073 阅读 · 0 评论 -
88. UE5 GAS RPG 使用富文本实现技能描述
在这一篇文章里,我们实现一下技能描述,我们有两个技能描述的框,一个显示当前技能的描述,另一个显示下一级技能的描述。对于技能的描述,里面会有很多的样式,正常情况下我们是无法创建这么多对面的UI节点,所以,我们需要使用的是,富文本框,在UE里翻译是多格式文本块。对于做过前端的小伙伴这个应该熟悉,那么接下来,我们实现一下显示。原创 2024-08-11 20:36:10 · 1337 阅读 · 0 评论 -
87. UE5 GAS RPG 实现技能面板技能的升级降级功能
在上一篇文章里,我们实现技能面板里的技能按钮配置数据,在角色对应的等级后,会解锁对应的技能,并实现了监听玩家角色所拥有的技能点数。在这一篇里,我们将实现,通过玩家所拥有的技能点数,对技能进行升级。原创 2024-08-08 16:02:28 · 1443 阅读 · 0 评论 -
86. UE5 GAS RPG 技能面板实现监听数据
在上一篇文章里,我们创建了技能面板的控制器,接下来,我们将实现通过控制器绑定委托,来更新显示内容。原创 2024-08-02 15:56:11 · 1305 阅读 · 2 评论 -
85. UE5 GAS RPG 创建技能面板控制器
在上一篇里,我们编辑完成了技能的UI面板。按照MVC的思路,我们还需要制作它的控制器,用于处理UI上面的交互。到现在为止,我们控制器已经有了三种,首先是我们创建的控制器基类RPGWidgetController.h,为所有控制器需要继承的类,里面有一些公用的函数和属性。我们接下来,会先创建技能面板控制器,然后整理代码,讲通用的部分整理到基类里,并优化一些功能。原创 2024-07-30 09:48:02 · 1297 阅读 · 0 评论 -
84. UE5 GAS RPG 创建技能面板
在前面,总算完成了角色属性的功能,并实现了分配属性值的功能。在这一篇文章,我们开始创建技能相关的功能,我们已经有了角色技能,现在还需要一个角色面板,这篇文章里我们将首先创建技能的UI面板,在面板中我们可以设置技能,升级技能等。首先展示一下我们要最终完成的效果接下来我们将实现这个效果。原创 2024-07-26 17:28:41 · 1370 阅读 · 0 评论 -
83. UE5 GAS RPG 实现属性值的设置
在前面,我们实现了角色升级相关的功能,在PlayerState上记录了角色的等级和经验值,并在变动时,通过委托广播的形式向外广播,然后在UI上,通过监听委托的变动,进行修改等级和经验值。在这一篇里,我们实现一下对属性值的操作,原理和等的差不多,但是编写死不一样。属性值是在属性面板上的属性,它有一个专用的属性面板控制器。原创 2024-07-23 18:19:24 · 1702 阅读 · 0 评论 -
82. UE5 GAS RPG 实现角色升级系统(下)
书接上回,在上一篇博客里,我们实现了角色升级的基础的功能。给敌人增加的经验奖励配置,并且在敌人死亡时,能够将经验通过事件传递给击杀者,玩家定义了被动技能,在被动技能中接收传递的事件,通过SetByCaller的GE应用给自身。并在AttributeSet中打印出获得的经验。我们还修改了PlayerState,在内部增加了对经验和等级添改查的,并创建对应的委托,在UI的Controller里面,实现了对委托的监听,并实现回调函数,通过经验获取等级和升级进度广播给UI表现出来。原创 2024-07-20 16:34:15 · 1411 阅读 · 0 评论 -
81. UE5 GAS RPG 实现角色升级系统(上)
在这一篇文章里面,记录一下实现角色升级系统的笔记。接下来,解释一下我们要实现的方式,我们将记录角色的总经验值,在角色的经验增长达到升级经验时,角色将实现升级,并提供升级奖励。这里比较注意的点是,我们创建一个升级经验数据资产,里面记录的每一级的升级条件不是当前等级升级所需经验,而是记录的角色升级所需的总经验值。比如:角色默认等级为1,升级为2级时需要300经验值,数据里记录的是升级所需为300经验。原创 2024-07-18 09:15:56 · 1477 阅读 · 0 评论 -
80. UE5 GAS RPG 实现UI显示技能冷却进度功能
在上一篇文章里,我们实现了通过GE给技能增加资源消耗和技能冷却功能。UI也能够显示角色能够使用的技能的UI,现在还有一个问题,我们希望在技能释放进去冷却时,技能变成灰色,并在技能冷却完成,技能可以再次使用。为了实现这个功能,我们首先要实现一个能够监听技能进入冷却的方法,然后在技能被使用后,将UI的颜色修改,并在技能冷却完成后,将技能UI恢复到可释放状态。原创 2024-07-12 17:30:33 · 1657 阅读 · 1 评论 -
79. UE5 GAS RPG 创建技能冷却和消耗
在这一篇里面,我们接着优化技能,现在角色添加的主动技能能够同步到ui上面。我们在这一篇文章里面,完善技能的消耗(释放技能减少蓝量)和冷却机制。我们可以看到,在技能类默认值这里,可以设置它的冷却和消耗的GE所以,我们接下来,将通过GE实现对技能的冷却和消耗的设置。原创 2024-07-11 17:50:32 · 1698 阅读 · 0 评论 -
78. UE5 GAS RPG 创建技能数据并初始化技能ui
在上一篇文章里,我们创建了技能的UI,接下来,我们要考虑如何实现对技能UI的填充,肯定不能直接写死,需要有一些方法去实现技能的更新。我们期望能够创建一个技能数据,然后根据数据通过回调的方式实现数据的更新。为了实现这个功能,我们会先创建一个结构体,用于存储技能的相关数据(Tag,使用的图片等),然后创建一个DataAsset,然后创建回调函数,在注册技能的时候,将技能相关的数据广播出去,在UI里接受,更新UI显示。原创 2024-07-10 16:02:58 · 1228 阅读 · 0 评论