一、什么GAS以及其能做什么
1.GAS是由Epic官方为UE4开发的能力系统插件
2.GAS提交开箱即用的:
- 基于等级的可消耗资源并带有冷却的角色能力(GameplayAbility)
- 对Actor所拥有的数值型属性的操控(AttributeSet)
- 对Actor施加状态效果(GameplayEffect)
- 对Actor添加游戏标签(GameplayTag)
- 生成粒子特效和音效(GameplayCue)
- 在网络上复制上述内容
- 一定程度上的预测能力
二、AbilitySystemComponent(ASC)
- ASC是GAS中协调一切的核心,是一个SceneComponent
- 要使用GAS的Actor必须有一个为其服务的ASC来管理相关一切
- 实际 添加/表现 ASC的Actor称为OwnerActor/AvatarActor
三、各部分介绍
1、Attribute
- 由特殊结构体包装的浮点数
- 存放与游戏相关的数值
- 提供BaseValue和CurrentValue
-
BaseValue:永久值
-
CurrentValue:临时修改
2、AttributeSet
- 存放Attribute
- 对其存放的Attribute进行管理等操作
- 可每个Actor一个亦可多个Actor共享一个
3、GameplayTag
- 具有点分层结构的名称
- 可查找、可层叠
- 描述Actor的状态
4、GameplayEffect
- 用于改变Attribute或GameplayTag
- 多种更改模式
-
通过Modifier或Execution更改
-
可立即生效或者持续一段时间或者一直持续
-
可附加GameplayCue
5、GameplayCue
- 执行特效类操作,粒子、音效、屏幕效果
- 根据不同特效提供不同选择
Static:一次性效果
Actor:持续性效果
6、GameplayAbility
- 是Actor在游戏中可以执行的能力,可视作行为
- 可获得、失去
- 有等级概念
- 可消耗资源,进行冷却,执行逻辑
- 技术上可以处理任何逻辑,但只推荐处理与技能相关的
不推荐的操作:基本输入操作、界面交互、商城购买等
7、GameplayAbilityTask
- 为了执行随时间推移而发生的动作所提供的异步操作
- GAS已经内置了一部分GameplayAbilityTask
- 全局可同时运行的GameplayAbilityTask有上限
8、GameplayEvent
- 被GameplayTag所标记
- 用于触发一些操作
- 可携带一些负载数据以便进行操作
9、常用缩写