언리얼 Gameplay Ability System 개념

Woogle·2024년 1월 20일
0

언리얼 엔진 5

목록 보기
56/63

📄 Gameplay Ability System (GAS)

  • 액터의 능력 및 스킬을 구축하기 위한 프레임워크
  • 능력(Ability)와 액터를 분리하여 의존성을 없애고 유연한 개발이 가능하다.
  • GAS를 활용하면 액티브 스킬, 패시브 스킬, 속성 변경, 연출 추가 등 다양한 기능을 구현 가능하다.

📄 핵심 개념과 예시

개념약자예시
🧩 Ability System ComponentASC액터의 모든 어빌리티를 "관리"
⚔️ Gameplay AbilityGA검을 휘두르는 스킬 "능력"
🤸 Ability TaskAT검을 휘두르는 "동작"
🏷️ Gameplay TagTag검을 휘두르는 상태 "식별"
📊 Gameplay Attribute검에 맞았을 때 줄어드는 체력 "스탯"
🔧 Gameplay EffectGE검에 맞았을 때 체력을 감소시키는 "효과"
🎬 Gameplay CueGC검을 휘두르는 시청각 "연출"

📄 핵심 기능

🧩 Ability System Component

  • GAS의 기능을 처리하는 핵심적인 컴포넌트
  • 보통 캐릭터 클래스, 또는 플레이어스테이트 클래스에 위치시킨다.

🚀 주요 기능

⚔️ Gameplay Ability

  • 발동, 캔슬 등이 가능한 게임플레이 로직
  • 주로 캐릭터의 스킬 같은 것들
  • 많은 프로젝트에서 캐릭터에 기본 어빌리티를 부여할 때 Ability Set(ABS) 데이터 에셋을 사용한다.

🚀 주요 기능

🏷️ Gameplay Tag

  • 사용자 정의 이름을 붙인 계층형 라벨
  • 프로젝트 세팅에서 .ini 파일 또는 데이터테이블에서 정의할 수 있다.
  • Gameplay Tag Container로 상태 체크, Gameplay Tag Query 탐색 등 다양하게 사용된다.

🚀 주요 기능

🤸 Ability Task

  • 시간이 소요되거나 상태를 관리해야하는 어빌리티의 구현 방법
  • OnCompleted, OnInterrupted 등의 델리게이트에 콜백 함수를 바인딩해서 사용한다.
  • 어빌리티가 끝나면 자동적으로 소멸한다.

🚀 주요 기능

📊 Gameplay Attribute

  • GAS에서 게임플레이 관련 부동 소수점 값을 저장, 계산, 수정하는데 사용되는 데이터
  • 보통 Attribute Set로 연관있는 Gameplay Attribute끼리 묶어서 관리한다.

🔧 Gameplay Effect

  • Gameplay Attribute 값을 수정하거나 게임플레이 태그를 붙이는 등 효과를 발생시키는 클래스
  • Gameplay Effect는 지속적일수도, 일시적일수도 있다.
  • 어빌리티의 쿨다운이나 코스트를 구현하는데에도 사용된다.

🎬 Gameplay Cue

  • 게임플레이 태그로 연출성 특수 효과(VFX, SFX)를 발생시키는 클래스

📄 참고자료

profile
노력하는 게임 개발자

0개의 댓글

관련 채용 정보