Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 유니온 파인드
- 투 포인터
- 다이나믹 프로그래밍
- VR
- 우선순위 큐
- 시뮬레이션
- c++
- 정렬
- 재귀
- 트리
- ue5
- DFS
- 브루트포스
- XR Interaction Toolkit
- 수학
- 누적 합
- 구현
- 그래프
- 알고리즘
- 자료구조
- Team Fortress 2
- 다익스트라
- 백준
- 그리디 알고리즘
- 백트래킹
- BFS
- 유니티
- 스택
- 문자열
- Unreal Engine 5
Archives
- Today
- Total
1일1알
GAS (Gameplay Ability System) 개요 본문
GAS에 대해 학습한 내용을 기록한 내용이고, 정확하지 않을 수 있습니다.
1. GAS란?
GAS는 액터가 소유하고 발동할 수 있는 능력을 어빌리티라는 개념으로 정의하고 다른 어빌리티 및 액터간의 인터랙션 기능을 제공하는 프레임워크이다.
GAS를 이용하여 게임에서 사용되는 스킬이나 스탯과 같은 복잡한 시스템을 범용적으로 설계할 수 있다.
GAS 플러그인은 에픽게임즈에서 개발했고 언리얼 엔진과 함께 제공된다. 파라곤, 포트나이트 등 대규모 멀티플레이게임에서도 유용하게 사용되고 있다.
언리얼 엔진5의 대표 학습용 프로젝트인 Lyra 프로젝트에서도 GAS를 활용한다.
2. GAS의 핵심 구성 요소
- Ability System Component(ASC)
- GAS의 핵심이 되는 컴포넌트이고, GAS 시스템과 상호작용을 처리하는 액터 컴포넌트이다. GA를 사용하거나 Attribute를 가지고 있거나 GE를 받으려는 액터에는 반드시 ASC가 하나씩 붙어 있어야 한다.
- Gameplay Tag(Tag)
- 게임플레이 태그는 계층적으로 설계할 수 있는 Enum같은 것이고, 오브젝트의 상태를 분류하는데 유용하다. 예를들어 캐릭터가 기절했다는 상태를 설계하고 싶다면 State.Debuff.Stun 태그를 만들 수 있다. 게임플레이 태그는 GAS뿐만 아니라 다른 곳에서도 유용하게 사용될 수 있다.
- Attribute
- 어트리뷰트는 구조체 FGameplayAttributeData 에 정의된 float값이다. 오브젝트의 체력, 공격력 등 수치에 관련된 값들을 나타낼 수 있고, 일반적으로 GE로 수정한다. Attribute Set(어트리뷰트 셋)은 어트리뷰트들에 대한 정보들을 정의하고 관리한다.
- Gameplay Effect(GE)
- GE는 어빌리티가 발생될때 끼치는 영향으로, 자신 혹은 자신의 어빌리티와 연관이 있는 ASC의 액터의 속성과 태그를 변경시킬 수 있다. 피해와 치유같은 즉각적인 어트리뷰트 변화를 일으키거나 버프효과같은 상태를 적용할 수 있다.
- Gameplay Ability(GA)
- GA는 액터가 게임에서 할 수 있는 모든 행동, 스킬이다. 점프나 공격 등을 GA로 정의하고 각각의 GA마다 Tag를 부여하여 Tag를 사용해 활성화시킬 수 있고, 특정 Tag가 활성화되어있다면 발동을 막을 수도 있다.
- Ability Task(AT)
- GA는 한 프레임에서만 실행되기 때문에 한계가 있다. 시간이 지남에 따라 발생하거나 특정 시점에 실행된 델리게이트에 응답해야 할 때에는 Ability Task를 사용한다. 예를들어 점프라는 GA가 발동되었을때 Ability Task를 생성하여 착지 시점에 호출되는 델리게이트를 등록하여 착지 시점에 맞춰서 GA를 종료시킬 수 있다.
- Gameplay Cue(GC)
- GC는 사운드, 파티클 등 게임플레이와 관련이 없는 효과들을 실행해준다. GC에 맞는 태그를 지정해주고, GA가 발동되거나 GE가 발동되거나 할때 GC를 발생시켜서 효과를 줄 수 있다.
'언리얼 > Gameplay Ability System' 카테고리의 다른 글
Attribute (0) | 2024.07.02 |
---|---|
Ability Task (AT) (0) | 2024.06.17 |
Gameplay Tags (0) | 2024.06.16 |
Gameplay Abilities (GA) (0) | 2024.06.16 |
Ability System Component (ASC) (0) | 2024.06.16 |