언리얼 GAS 기본개념 복습 (12.04)

이정국(PBD)·2025년 12월 4일

TIL

목록 보기
66/70

1. ✅ 오늘 배운 핵심 개념

  • 언리얼에서 GAS(Gameplay Ability System) 는 캐릭터 능력, 스탯, 버프/디버프, 쿨타임 같은 게임플레이 로직을 체계적으로 관리하는 프레임워크.
    특히 스킬이 많은 게임이나 스탯 변화가 자주 일어나는 RPG류에서 아주 강력함.

2. ✅ 왜 GAS를 쓰는지

  • 스킬, 스탯, 버프/디버프가 많아질수록 직접 구현하면 코드가 지저분해지는데
    GAS는 구조가 딱 잡혀 있어서 유지보수가 편함.

  • 서버/클라이언트 분리도 잘 되어 있어서 멀티플레이에 특히 유리함.

  • 오버워치, 포트나이트 같은 게임들이 GAS 기반으로 만들어짐
    → 신뢰성 검증 완료.

3. ✅ 구성 요소 4대장

AttributeSet

  • 캐릭터의 체력/마나/공격력 같은 수치 모음집.
    값 변화는 Getter/Setter 직접 쓰지 않고 GAS만을 통해 변경하는 게 규칙.

GameplayEffect (GE)

  • 버프/디버프/힐/데미지 적용할 때 쓰는 객체.
    지속형, 순간형, 스택, 기간제 등 다양한 옵션으로 효과를 정의할 수 있음.

GameplayAbility (GA)

  • 스킬 자체.
  • 스킬 눌렀다 → 조건 확인 → 발동 → 애님/이펙트/쿨타임 처리 → 종료
    흐름이 전부 정형화되어 있음.

GameplayTag

  • 스킬 조건 체크, 상태 구분 등에 쓰는 태그 시스템.
  • GAS 전반에서 if문 대신 쓰는 라벨 같은 느낌.

4. ✅ 흐름 정리

  • 플레이어가 스킬 키 입력

  • AbilitySystemComponent(ASC)가 “이 스킬 써도 되는지” 태그와 조건 검사

  • 조건 OK면 Ability 발동

  • Ability 안에서 GameplayEffect 적용

  • AttributeSet의 수치가 변경되며 서버-클라 자동 동기화

  • 태그로 쿨타임, 상태(스턴, 무적 등) 적용됨

5. ✅ GAS의 진짜 강점

  • 로직 대부분이 Data Driven → 블루프린트/데이터자산에서 관리 가능

  • 효과/스킬/스탯이 서로 독립적

  • 조합이 복잡한 RPG에서 버그가 줄어들고 확장이 쉬움

6. ✅ 개발할 때 팁

  • AttributeSet 값 직접 건드리지 말고 GameplayEffect 통해서만 바꾸기

  • 태그는 많이 쓸수록 관리가 쉬워짐 → 체계적으로 네이밍

  • Ability는 하나의 실행 단위로 보고 너무 복잡하게 만들지 않기

  • 예약된 실행 흐름(ActivateAbility, Commit, EndAbility)을 이해하면 반은 끝남

7. ✅ 정리

  • GAS는 진입장벽은 좀 있지만 익숙해지면
    스킬/버프/스탯 구조를 매우 안정적으로 만들 수 있음.
  • 특히 게임 클라이언트 취업 준비 중이면 GAS 숙련도는 강력한 무기.
profile
창백한 푸른점 속 작은점

0개의 댓글