GamplayAbilitySystem(GAS)简学

一、什么GAS以及其能做什么
1.GAS是由Epic官方为UE4开发的能力系统插件
2.GAS提交开箱即用的:

  1. 基于等级的可消耗资源并带有冷却的角色能力(GameplayAbility)
  2. 对Actor所拥有的数值型属性的操控(AttributeSet)
  3. 对Actor施加状态效果(GameplayEffect)
  4. 对Actor添加游戏标签(GameplayTag)
  5. 生成粒子特效和音效(GameplayCue)
  6. 在网络上复制上述内容
  7. 一定程度上的预测能力

二、AbilitySystemComponent(ASC)

  1. ASC是GAS中协调一切的核心,是一个SceneComponent
  2. 要使用GAS的Actor必须有一个为其服务的ASC来管理相关一切
  3. 实际 添加/表现 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、常用缩写

你可能感兴趣的:(虚幻4,UE4,GAS)