게임플레이 어빌리티 시스템(Gameplay Ability System) 은 RPG나 MOBA 타이틀에서 볼 수 있는 어빌리티 및 어트리뷰트 유형을 구축하기 위한 고도로 유연한 프레임워크입니다. 게임 내 캐릭터가 사용할 액션이나 패시브 어빌리티, 이러한 액션의 결과로 다양한 어트리뷰트를 높이거나 낮추는 상태 이펙트를 만들 수 있고, '재사용 대기 시간' 타이머나 자원 비용을 구현하여 액션의 사용 빈도를 조절하거나, 어빌리티의 레벨과 레벨에 따른 이펙트를 변경하거나, 파티클 및 사운드 이펙트를 활성화하는 등의 작업이 가능합니다. 게임플레이 어빌리티 시스템을 사용하면 점프처럼 단순한 것부터 최신 RPG나 MOBA 타이틀 내 인기 캐릭터의 기술 모음처럼 복잡한 것까지 다양한 인게임 어빌리티를 설계 및 구현하고 효과적으로 연결할 수 있습니다.
게임플레이 어빌리티 시스템(Gameplay Ability System) 은 액터가 소유하고 트리거살 수 있는 상호작용, 어트리뷰트 및 어빌리티 제작을 위한 프레임워크입니다. 이 시스템은 롤플레잉 게임(RPG), 액션 어드벤처 게임, 멀티플레이어 온라인 배틀 아레나 게임(MOBA) 등 다양한 게임플레이 기반 프로젝트에 적용할 수 있도록 설계되었습니다.
게임플레이 어빌리티 시스템에서 할 수 있는 작업은 다음과 같습니다.
-
어빌리티 시스템 컴포넌트를 사용합니다. 어빌리티 시스템 컴포넌트에는 액터 컴포넌트가 구현하는 모든 기본 기능이 포함되어 있습니다.
-
어빌리티 시스템 컴포넌트는 자체 인터페이스를 구현하여 게임플레이 어빌리티 시스템의 프레임워크에 액세스하고 상호작용합니다.
-
프로젝트의 게임플레이 메커니즘, 비주얼 이펙트, 애니메이션, 사운드 및 기타 데이터 기반 엘리먼트로 조정하는 액터에 대해 능동 또는 수동 게임플레이 어빌리티를 생성합니다.
-
게임플레이 어빌리티 시스템과 상호작용할 때 게임플레이와 관련된 값을 저장, 계산, 수정하는 어트리뷰트 및 어트리뷰트 세트를 사용합니다.
-
프로젝트 디자인으로 어트리뷰트 값을 직접 수정할 수 있는 방법을 제공하는 게임플레이 이펙트로 어트리뷰트를 변경합니다. 게임플레이 이펙트에는 게임플레이 이펙트의 동작 방식을 결정하는 게임플레이 이펙트 컴포넌트가 포함되어 있습니다.
-
어빌리티 태스크(
UAbilityTask
)는 게임플레이 어빌리티와 함께 작동하는 게임플레이 태스크 클래스의 특수한 형태입니다. 게임플레이 어빌리티 시스템을 사용하는 게임에는 보통 고유한 게임플레이 기능을 구현하는 다양한 커스텀 어빌리티 태스크가 포함됩니다. 게임플레이 어빌리티 실행 도중 비동기 작업을 수행하며, 네이티브 C++ 코드에서 델리게이트를 호출하거나 블루프린트 같은 하나 이상의 출력 실행 핀을 통해 실행 흐름에 영향을 줄 수 있는 기능을 갖추고 있습니다.
이 시스템을 사용하면 단일 공격과 같은 어빌리티를 만들거나 사용자와 타겟의 데이터에 따라 여러 상태 이펙트를 트리거하는 주문과 같이 더 복잡한 어빌리티를 추가할 수 있습니다.
시작하려면 게임플레이 어빌리티 퀵스타트 가이드를 참조하세요.
에인션트의 협곡 샘플
에코의 충전 및 공격 애니메이션과 걷기 애니메이션은 게임플레이 어빌리티의 예시입니다.
추가 기능은 에인션트의 협곡 샘플을 참조하세요.