언리얼 엔진

[언리얼엔진] Gameplay Ability System

mane 2024. 2. 5. 22:43
728x90
반응형

Unreal Engine의 Gameplay Ability System (GAS)

Unreal Engine의 Gameplay Ability System (이하 GAS)은 게임 내에서 플레이어의 능력과 상태 변화를 관리하는 강력한 시스템입니다. GAS를 사용하면 게임 디자이너들이 복잡한 능력(abilities), 상태 이펙트(status effects), 버프(buff) 및 디버프(debuff)를 유연하게 구현할 수 있습니다.

주요 구성 요소

Ability System Component (ASC)

ASC는 GAS의 핵심으로, 모든 능력과 이펙트를 관리합니다. 이 컴포넌트는 능력을 활성화하고, 지속 이펙트를 적용하며, 게임 플레이 이벤트를 처리합니다.

UCLASS()
class GAME_API UMyAbilitySystemComponent : public UAbilitySystemComponent
{
    GENERATED_BODY()
}

Gameplay Ability

능력은 게임 내 캐릭터가 수행할 수 있는 모든 행동을 나타내는 객체입니다. 이들은 일반적으로 스킬, 주문, 특수 능력을 구현하는 데 사용됩니다.

UCLASS()
class GAME_API UMyGameplayAbility : public UGameplayAbility
{
    GENERATED_BODY()
}

Gameplay Effect

게임플레이 이펙트는 캐릭터에게 적용되는 모든 변경 사항이나 상태를 나타냅니다. 이것은 피해, 치유, 버프, 디버프 등을 포함할 수 있습니다.

UCLASS()
class GAME_API UMyGameplayEffect : public UGameplayEffect
{
    GENERATED_BODY()
}

Attribute Set

속성 세트는 캐릭터의 기본 통계치를 관리하는 클래스입니다. 이를 통해 체력, 마나, 힘 등의 속성을 관리할 수 있습니다.

UCLASS()
class GAME_API UMyAttributeSet : public UAttributeSet
{
    GENERATED_BODY()
}

Gameplay Tag

게임플레이 태그는 능력이나 이펙트를 분류하고 관계를 정의하는 데 사용되는 태그 시스템입니다. 이 태그는 능력이나 이펙트의 특성을 나타내며, 조건부 로직을 구현하는 데 유용합니다.


결론

GAS는 언리얼 엔진을 사용하는 게임 개발자들에게 필수적인 시스템으로, 복잡한 게임 능력과 상호작용을 쉽게 구현할 수 있도록 도와줍니다. 각 구성 요소의 상세한 구현과 사용 방법에 대해서는 GASDocumentation 을 참조하십시오.

728x90
반응형