1. 개요
AbilitySystemComponent에 간단히 알아보고 생성하는 방법을 알아보자
2. AbilitySystemComponent
1. AbilitySystemComponent 란?
AbilitySystemComponent에 대해 정의된 내용은 많지만 현재 필요한 내용만 정리해 보았다.
- AbilitySystemComponent는 컴포넌트이다. 액터에 부착할 수 있다.
- AbilitySystemComponent는 다른 AbilitySystemComponent와 상호작용한다.
- AbilitySystemComponent는 스탯을 관리(저장, 수정)한다.
2. AbilitySystemComponent 생성하기
2-1. AbilitySystemComponent는 어디서 생성할까?
공식 문서(링크)를 살펴보면 다음과 같이 나와 있다.
Most Actors will have the ASC on themselves. If your Actor will respawn and need persistence of Attributes or GameplayEffects between spawns (like a hero in a MOBA), then the ideal location for the ASC is on the PlayerState.
대부분의 액터는 스스로 ASC를 보유하게 됩니다. MOBA의 영웅처럼 액터가 리스폰되고 스폰 사이에 어트리뷰트 또는 게임플레이 이펙트가 지속되어야 하는 경우, ASC의 이상적인 위치는 플레이어 스테이트에 있습니다.
"대부분의 액터는 스스로 ASC를 보유하게 된다."
- ASC는 소유 액터(Owner Actor)와 아바타 액터(Avatar Actor)를 멤버변수로 가지고 있다.
- 스스로 보유한다는 말은 소유 액터에서 ASC를 보유한다는 의미와 같다.
"ASC의 이상적인 위치는 플레이어 스테이트에 있습니다."
- 소유 액터에서 ASC를 보유하고 있으면 문제점이 하나 있다.
- 소유 액터가 소멸하게 되면 ASC도 같이 소멸하게 된다.(컴포넌트로써) 그래서 데이터가 유지되지 않는다.
- 그래서 안전하게 플레이어 스테이트(PlayerState)에서 ASC를 보유할 수 있다.
2-2. 소유 액터와 아바타 액터
소유 액터는 ASC를 보유하고 있는 액터이다. (= ASC를 생성한 액터)
아바타 액터는 ASC를 사용하는 액터이다.
소유 액터와 아바타 액터가 보통 동일하다.
그러나 위 예외처럼 플레이어 스테이트에서 ASC를 보유하는 경우가 있다.
이 때, 소유 액터는 PlayerState가 되며 아바타 액터는 Character가 된다.
그러면 아바타 액터가 소멸되어도 소유 액터는 살아있기에 데이터(스탯)를 유지할 수 있다.
3. 정리
- 기본적으로 ASC는 소유 액터에서 생성한다.
- 액터가 소멸될 가능성이 있고 데이터가 유지되어야 한다면 플레이어 스테이트(PlayerState)에서 생성한다.
'Unrael > GAS (GameplayAbilitySystem)' 카테고리의 다른 글
| [GAS] 게임플레이 이펙트 - Instant (1) | 2025.01.14 |
|---|---|
| [GAS] 게임플레이 이펙트 (GameplayEffect) (1) | 2025.01.13 |