1. 게임플레이 어빌리티 시스템(Gameplay Ability System - GAS)
RPG와 MOBA 같은 게임에서 속성, 스탯, 쿨타임, 이펙트 발생을 효율적으로 구현하기 위한 시스템이다.
(1) 구성 요소
- 어빌리티 시스템 컴포넌트(Ability System Component)
캐릭터가 GAS를 사용할 수 있도록 적용할 수 있다.
- 속성 셋(Attribute Set)
체력, 마나, 지력 등 여러 속성들의 집합.
- 게임플레이 어빌리티(Gameplay Ability)
공격, 주문 시전, 상자 열기 등의 게임플레이에 필요한 동작들을 포함.
- 어빌리티 태스크(Ability Task)
모든 작업을 비동기적으로 실행한다.
- 효과 (Gameplay Effects ; 이펙트)
버프, 디버프, 속성의 값을 변화시킴.
- 큐 (Gameplay Cues)
불덩이가 닿으면 타는 소리와 효과가 발생함.
- 태그 (Gameplay Tags)
각 요소들을 명확하게 구분하고 판별할 수 있게 해준다.
(2) 작동 방식
폰에 직접 추가하거나 플레이어 스테이트에 추가하여 사용할 수 있다.
(2-1) 폰에 직접 추가하는 방법
- 폰이 제거되는 순간 속성 셋과 컴포넌트 모두 제거된다.
- 새로운 폰을 다시 생성하면 속성 셋과 컴포넌트가 새롭게 생성되어 기본 값을 가진다.
- 죽으면 제거되는 Enemy 클래스에 적합.
(2-2) 플레이어 상태(Player State)에 추가하는 방법
- 폰이 제거되지만 플레이어 상태에 속성 셋과 컴포넌트가 유지된다.
- 새로운 폰을 다시 생성(부활)해도 속성 셋과 컴포넌트가 기존의 값을 유지한다.
- 죽으면 부활할 수 있는 Player 클래스에 적합
따라서 1번 방법을 적 클래스, 2번 방법을 플레이어 스테이트에 적용한다.
(3) 구현 순서
1) 플레이어 상태 클래스
2) 어빌리티 시스템 컴포넌트
3) 속성 셋
'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
2-3. 멀티 플레이어에서의 GAS (0) | 2024.08.14 |
---|---|
2-2. 플레이어 상태 클래스(Player State Class)와 GAS 기본 설정 (0) | 2024.08.14 |
1-6. 마우스로 적 외곽선 표시하기 (2) - 포스트 프로세스 볼륨 (Post-Process Volume) (0) | 2024.08.14 |
1-5. 마우스로 적 외곽선 표시하기 (1) - 인터페이스 클래스 (Interface Class) (0) | 2024.08.14 |
1-4. 기본 캐릭터 클래스 (Base Character Class) (2) (0) | 2024.08.13 |