UE - GAS(Game Ability System)에 관하여
언리얼엔진 Game Ability System이란?
게임 내에서 캐릭터나 오브젝트의 능력을 정의하고 관리하는 시스템입니다. 이 시스템은 게임의 캐릭터나 아이템 등의 능력을 모델링하고 관리하며, 이들 능력을 조작하고 적용하는 방법을 제공합니다.
Game Ability System은 일반적으로 세 가지 구성 요소로 구성됩니다.
첫째, 능력은 능력 구성 요소와 실행 구성 요소로 구성됩니다. 능력 구성 요소는 능력의 속성, 발동 조건, 지속 시간 등을 정의하고, 실행 구성 요소는 능력이 실행될 때 수행할 작업을 정의합니다.
둘째, 능력 시스템은 능력을 트리거하는 행위자와 대상을 식별하는 능력 시스템 트리거 구성 요소를 포함합니다.
마지막으로 능력 시스템은 능력이 적용될 때 발생하는 이벤트를 처리하는 능력 시스템 리스너 구성 요소를 제공합니다.
Game Ability System은 다양한 게임 장르에서 적용될 수 있으며, RPG, 액션, 슈팅 게임 등에서 특히 유용합니다. 이 시스템은 게임 디자이너와 프로그래머가 능력 시스템을 쉽게 구현하고 유지보수할 수 있도록 해주며, 게임 내 능력 시스템이 완전히 분리되어 있기 때문에 게임 엔진과 상호작용하는 다른 시스템들과 쉽게 통합될 수 있습니다.
Ability SystemComponent(ASC) :
- 액터 컴포넌트를 사용하여 액터가 더 넓은 GAS 프레임워크와 통신할 수 있습니다.
- GAS와 상호 작용하기를 원하는 모든 액터는 ASC를 가지거나, 다른 액터가 가진 ASC에 접근해야 한다.
- ex) 캐릭터, 파괴가능 오브젝트, 심지어 문(Door)같은 것도
Attributes + Attribute Sets :
- 스마트 부동 소수점 값- 현재 그리고 기본 값
Gameplay Ability (GA) :
- 특정 어빌리티에 대한 독립적 로직
- 게임 플레이 메카닉을 위한 모두 충족하는 논리.
- 전형적인 게임플레이 어빌리티가 아니여도 된다 (움직이거나, 열거나, 달리거나, 쫓거나등 패시브같은 반응적인 행동)
GamePlay Effect(GE) :
- GA의 이펙트, attribute 들 및 태그들 수정.
- 무한,순간 혹은 지속가능한
- 데이터 오브젝트
GamePlay Tags
- 액터 태그(논의의 여지 없이 더 낫다!)처럼.
- 사용자의 실수를 방지하고 빠르게 선택할 수 있도록 재사용 가능합니다. 프로젝트 설정에 저장됨
- 계층적인 구조
- 좋은 "매칭" 시스템
- 매우 강력하다
- GAS 플러그인 외부에 존재해서 GAS 플러그인 없어도 사용가능함.
GamePlay Cue (GC)
- 기본적으로 FX의 래퍼(wrapper)입니다.
- 2가지 기본 모델이 제공됩니다. Burst, Actor
- 일반적으로 데디케이티드에서 생성하고 싶지 않은 모든 "클라이언트 전용" 오디오 및 비주얼 요소
참고:
https://github.com/tranek/GASDocumentation#concepts-as
https://www.youtube.com/watch?v=vknzNVYJjr4&ab_channel=UnrealEngineKR