- 博客(16)
- 收藏
- 关注
原创 虚幻四Gameplay Ability System入门(12)-Ability Task
今天就是本教程的最后一章了,前一篇当中提到,Ability的运行如果没有Task的话,实际上是在一帧内运行完成的,这肯定是不能满足实际情况的,因此我们需要Ability Task,让Ability可以在更长的时间范围内相应处理不同的动作。我们之前持续使用的PlayMontageAndWait,WaitTargetData,Wait,WaitGameplayEvent等等功能全部都是Ability Task。既然如此,我们也会想要实现自己的技能任务,本篇教程就介绍一下实现一个简单的Ability Task的
2021-05-01 01:09:32
1563
13
原创 虚幻四Gameplay Ability System入门(11)-Ability和绑定输入
写了十篇文章,才发现还没有讲过GAS一直在用的Ability。这里就简单的介绍一下技能类吧。这里不涉及服务端和客户端之间的关系和交互,因为这方面我也不熟悉。首先介绍一下Gameplay Ability的基础流程图。图片来自https://github.com/tranek/GASDocumentation#concepts-ga首先在Character或Controller中尝试启动Ability,然后判断Tag条件,如果能够启动,则进入Activiate Ability。接着会通过Commit Ab
2021-04-30 06:09:15
2642
1
原创 虚幻四Gameplay Ability System入门(10)-地爆天星!TargetActor Tick
既然神罗天征都做了,那索性把地爆天星也给做了吧。这里做几个小改动,首先就是将TargetActor的启动方式从Instant改为User Confirm。流程就变为1.start targeting 2.玩家confirm 3.结束targeting并传输数据第二是给Actor加上tick,因为目标追踪本身是一个Actor,那么它自然可以拥有心跳(tick)。我们期望在玩家确认前可以随时调整技能的释放位置。其它就是一些技能特效和逻辑的小改动。先看看最终的效果吧(图片太大了放不进去)TargetA
2021-04-30 01:56:08
1003
原创 虚幻四Gameplay Ability System入门(9)-神罗天征!TargetActor
痛みを世界に与えて!哈哈,不开玩笑了。这一期我们实现一个类似Shinra Tensei的技能。技能可以将角色周围的敌人击飞,让他们感受痛苦!首先大致描述一下技能的实现过程:启动技能,PlayMontageAndWait。通过TargetActor获取以角色为中心,球形碰撞体范围内的敌方角色,将数据传输给Gameplay Ability。收到Anim Notify后,将得到数据中的全部敌人吸向角色。收到Push Notify后,将敌人推开,让他们感受痛苦。TargetActorTarge
2021-04-28 22:49:45
1748
原创 虚幻四Gameplay Ability System入门学习合集
本篇负责记录我认为比较好的GAS系统学习文档和视频,一开始就自夸一下,放一下个人写的入门教程。虚幻四Gameplay Ability System入门(1)-初始设置虚幻四Gameplay Ability System入门(2)-普通攻击虚幻四Gameplay Ability System入门(3)-UI交互虚幻四Gameplay Ability System入门(4)-治疗效果虚幻四Gameplay Ability System入门(5)-冲刺奔跑和深入Attribute虚幻四Gameplay
2021-04-27 23:51:57
3624
2
原创 虚幻四Gameplay Ability System入门(8)-Gameplay Effect详解(3)
这一部分给GE剩下的部分收个尾,如果还想要进一步了解GE背后的各个原理,建议深入源码的海洋遨游(笑)。Gameplay Effect这一部分是GE的核心,之前的两篇文章主要讲的也是这一部分,GE实现的主要是如何对角色状态和属性进行修改。Period这一部分定义的是GE的触发周期,当GE的Duration Policy为Infinite或Duration后,可以在这里设置触发周期。如果设置以后,GE的应用状态类似于每Period触发一次的InstantApplication这里的第一个属性,C
2021-04-27 23:47:37
2305
原创 虚幻四Gameplay Ability System入门(7)-Gameplay Effect详解(2)自定义Calculation Class
本篇文章主要参考EPIC商场的RPG游戏demo。实现GE计算中使用自定义的Calculation Class新建Attribute打开AttributeSetBase.h/cpp,增加两个属性Damage和Armor,方法和之前的一样,这里就直接贴代码了。UCLASS()class GAS_LEARN_API UAttributeSetBase : public UAttributeSet{ GENERATED_BODY()public: UPROPERTY(VisibleAnywher
2021-04-27 02:39:08
1993
2
原创 虚幻四Gameplay Ability System入门(6)-Gameplay Effect详解(1)Modifier
highlight: a11y-darktheme: juejin在之前的五篇文章中,我们已经无数次使用了技能系统中的Gameplay Effect,但是我们仅仅使用了最简单的部分,实际上GE的功能十分强大,接下来的三篇文章我打算进一步说明GE的各个模块和应用方法。GE的定义之前已经提到过了,现在还是再次说明,GE可以看做是一种改变Attributes和GameplayTags的容器,它应该是data-only的,不该包含额外的逻辑。GE修改Attributes是通过Modifier和Execu.
2021-04-26 01:13:19
2677
4
原创 虚幻四Gameplay Ability System入门(5)-冲刺奔跑和深入Attribute
在这篇文章开始前,先分享一个惨痛的经历,就因为在虚幻四的源码中加了两句注释,项目的编译就走向了拥有3000+ Errors的不归路 T T,这是啥原理啊。这次我们要实现的功能是角色的冲刺奔跑,操作就是点击shift后角色的移动速度会增加。这个能力的实现应该是挺简单的,但是我会扩展一部分的GAS源码,深入一下GAS的Attribute,希望能够帮助到一部分读者。有问题也希望大家可以在评论或者私信告诉我。接下来进入正题,首先还是讲解一下加速跑的实现过程:shift点击后activiate加速跑技能。加
2021-04-25 11:53:41
1389
原创 虚幻四Gameplay Ability System入门(4)-治疗效果
这次我们要实现的是一个治疗回血的技能,它的效果是使用治疗技能后角色的生命值会缓慢恢复。在这个效果上,我们希望实现通过Gameplay Cue实现角色使用恢复技能后身上会有一个特效,再第一次使用技能系统中的Tag标签。首先还是从设计技能的流程开始。使用技能需要消耗魔法值,但是我们之前创建的AttributeSet中只有生命值,所以首先需要添加一个Attribute Mana,并初始化。添加恢复技能,技能会播放一个Montage,播放完毕后向自己申请一个Gameplay Effect。该GE的效果是在一
2021-04-25 11:52:39
1314
1
原创 虚幻四Gameplay Ability System入门(3)-UI交互
这一篇的目的是实现生命值与UI的交互,即角色的Health发生改变后,UI的血条也会发生相应的改变。为了实现这个目的,我们需要有以下几个步骤:初始化AttributeSet,之前角色的属性值是没有初始化的,是从0开始的通过Delegate,将HealthAttribute和CharacterBase.cpp中的处理生命变化的函数bind在一起。实现角色的生命值UI。OK,进入正题。初始化AttributeSet我个人认为初始化Attributes的较好的方法有两种,一是通过Gameplay
2021-04-25 11:51:46
1297
1
原创 虚幻四Gameplay Ability System入门(2)-普通攻击
这一篇的目的实现一个简单的攻击Ability。在开始之前,首先设计一下在蓝图中角色的普通攻击是如何实现的:鼠标左键启动攻击事件攻击事件开始,播放montage。montage中有notify,作用分别是启动攻击碰撞检测,取消碰撞检测,效果类似于伤害帧如果发生碰撞,通过ApplyDamage对敌人造成伤害montage播放完成,结束攻击事件。在GAS系统中,我们应该把攻击看做一个完整的Ability,那么它负责的部分应该包括2,4,5,角色本身负责的部分应该是1,4。这样我们就将攻击的逻辑分解
2021-04-25 11:49:09
2217
1
原创 虚幻四Gameplay Ability System入门(1)-初始设置
我最近在学习虚幻四的Gameplay Ability System,这个名字可以被理解为技能系统框架(大概),接下来我就简称为GAS或技能系统。在网上找了很久,发现相关的中文教程比较少,所以打算把自己的学习过程和对技能系统的理解写成文章,既帮助我理解,也希望可以帮助到其它想要学习GAS的朋友。之前写过一篇教程,但感觉很不满意,于是打算重写一遍。接下来进入正题。什么是Gameplay Ability System?在很多的游戏中,角色会拥有很多的技能,比如火球术,治疗术等等。这些技能会消耗法力值,存在冷却
2021-04-25 11:47:48
3874
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人