UE5 GAS系统 - 每个理解组件的理解 (一)

600 阅读1分钟

1. Ability System Component (技能系统组件)

AbilitySystemComponent(ASC)GAS 系统核心,其实它也是一个 UActorComponent,负责处理技能系统交互,使用技能、拥有属性或接收效果的Actor需附着 ASC 组件。

2. OwnerActor 与 AvatarActor

  • Actor 需重生且保留死亡前属性或效果,ASC 理想位置在 PlayerState

  • 但是需要提高 PlayerState 网络更新频率(NetUpdateFrequency),并激活自适应网络更新频率(Adaptive Network Update Frequency )。

  • OwnerActorAvatarActor 不同,二者都应实现 IAbilitySystemInterface 接口,该接口有方法返回指向 ASC 组件的指针,ASC 通过此接口函数交互。

    Character(角色)OwnerActor(拥有的Actor)AvatarActor(作用的Actor)
    玩家玩家状态 PlayerState Class玩家角色 Character Class
    敌人敌人角色 Character Class敌人角色 Character Class

3. AttributeSet (角色属性)

  • 角色属性AttributesAttributeSet 负责复制和设置,比如HP等等。

4. Gameplay Ability 角色能力

  • 不能修改Attributes属性;
  • 可以抽象能我们的一个能力,比如攻击敌人的能力(打人)、被攻击的能力(被打);
  • 射线检测和UI交互不能不算角色能力;

5. Ability Task 异步操作加载

  • 比如我有一个动画蒙太奇需要等一等;

6. GamePlay Effect 异步操作加载

  • 注意 这是唯一能修改角色属性Attributes的途径

6. GamePlay Cue 播放

  • 比如播放技能、音效等等

7. Gameplay Tag

  • 可用于技能衔接,可以理解成一个分叉树,比如A攻击下可以接什么攻击;