UnrealEngine5/공부

[UE5/GAS] Game Ability System이란?

왹져박사 2025. 5. 26. 16:44

인프런 [이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템] 강의 공부 노트

이득우 교수님께서 스킬 기반의 복잡한 시스템 사용 시, GAS의 프레임워크 공부를 권장한다고 하셨다. 

교육 과정에는 포함되어있지 않아, 이득우 교수님의 온라인 강의를 따로 찾아보게 되었다. 


GameAbilitySystem?

 

장점

  1. 유연성과 확장성 → 생산성 차이
  2. 모듈화 시스템 → 독립적인 기능으로 전체에 영향이 적음
  3. 네트워크 멀티플레이 지원
  4. 데이터 기반 설계
  5. 높은 완성도의 프레임워크

 

단점

  1. 학습 비용이 큼
  2. 오버헤드 → 작은 프로젝트라면 GAS 도입이 너무 큰 비용일 수 있음

 

5가지 구성 요소

  1. ASC (Ability System Component): GAS 프레임워크를 관리하고 처리하는 액터 중앙 처리 장치
  2. Gameplay Tag : 현재 프로젝트 레벨에서 액터들의 상태나 행동 관리
  3. GA (Gameplaye Ability) : 모든 스킬, 액션 발동의 시작
  4. GE (Gameplay Effect) : 게임 플레이 어빌리티 발동에 의한 영향
  5. Attribute : 데이터

 

GAS의 흐름

액터에 AbilitySystemComponent 생성으로 어빌리티 부여

→ 어빌리티가 조건에 맞으면 발동

→ 발동으로 인한 Effect 발동

→ Attribute에 영향 (데이터 변동)

 

 

Task

일정 시간이 걸리는 작업들은 Task로 단위화.

Task들을 조합하여 원하는 액션 제작 가능하도록 설계.

 

 

Gameplay Cue

Effect 발동으로 인한 시각/청각적 특수 효과 : Gameplay Cue

 

 

GAS의 사용 시에는 C++과 블루프린트 모두를 적절하게 혼용하는 것이 가장 효과적이다!

C++로 기반을 다진 후, 블루프린트로 GE, Gameplay Cue 제작.

 

 


Unreal을 처음 배우며 엔진 내에서 이렇게 베이스 프레임워크가 아닌 큰 프레임워크가 존재할 것이라고 생각하지 못했는데, 

새롭게 배우며 소스 코드 관찰할 생각을 하니 벌써부터 재밌다!

 

공부하며 바로바로 현재 프로젝트에도 적용해 볼 생각이다.