1. Ability System Component (技能系统组件)
AbilitySystemComponent(ASC)是 GAS 系统核心,其实它也是一个 UActorComponent,负责处理技能系统交互,使用技能、拥有属性或接收效果的Actor需附着 ASC 组件。
2. OwnerActor 与 AvatarActor
-
若
Actor需重生且保留死亡前属性或效果,ASC理想位置在PlayerState上 -
但是需要提高
PlayerState网络更新频率(NetUpdateFrequency),并激活自适应网络更新频率(Adaptive Network Update Frequency )。 -
若
OwnerActor和AvatarActor不同,二者都应实现IAbilitySystemInterface接口,该接口有方法返回指向ASC组件的指针,ASC通过此接口函数交互。Character(角色) OwnerActor(拥有的Actor) AvatarActor(作用的Actor) 玩家 玩家状态 PlayerState Class 玩家角色 Character Class 敌人 敌人角色 Character Class 敌人角色 Character Class
3. AttributeSet (角色属性)
- 角色属性
Attributes由AttributeSet负责复制和设置,比如HP等等。
4. Gameplay Ability 角色能力
- 不能修改
Attributes属性; - 可以抽象能我们的一个能力,比如攻击敌人的能力(打人)、被攻击的能力(被打);
- 射线检测和UI交互不能不算角色能力;
5. Ability Task 异步操作加载
- 比如我有一个动画蒙太奇需要等一等;
6. GamePlay Effect 异步操作加载
注意这是唯一能修改角色属性Attributes的途径
6. GamePlay Cue 播放
- 比如播放技能、音效等等
7. Gameplay Tag
- 可用于技能衔接,可以理解成一个分叉树,比如A攻击下可以接什么攻击;