Make Unreal REAL.
article thumbnail
Advanced Unreal Engine 5 Multiplayer Gameplay Programming

 

 

Ability System Component는 Actor Component를 부모로 가지며, 다음과 같은 구성 요소를 갖는다.

  • Gameplay Ability
  • Gameplay Tasks
  • Gameplay Tags
  • Gameplay Attributes
  • Gameplay Effects
  • Gameplay Cues
  • Gameplay Events
  • ...

 

 

Ability System Component And Attributes

Using the Ability System Component with Gameplay Attributes and Attribute Sets

docs.unrealengine.com

 

능력은 UAbilitySystemComponent::GiveAbility() 함수를 통해 부여할 수 있다.

  • 서버에서만 능력을 부여할 수 있으며, 클라이언트에서 호출되면 무시된다.

 

 

UAbilitySystemComponent::GiveAbility

GameplayAbilities

docs.unrealengine.com

 

Gameplay Ability

액터가 사용할 수 있는 능력이다.

로컬 후 서버, 로컬만, 서버 후 로컬, 서버만 등의 실행 정책이 있다.

게임플레이 태그, 클래스 등으로 필터링 해 실행할 수 있다.

 

 

Gameplay Ability

Overview of the Gameplay Ability class.

docs.unrealengine.com

 

Gameplay Tasks

능력에서 로직을 수행할 수 있도록 하는 오브젝트이다.

실행 도중 OnCompleted, OnBlendOut, OnIterrupted, OnCancelled 등의 델리게이트를 발동할 수 있다.

비동기적으로 수행될 수 있으며, TickTask(Deltatime) 함수를 제공한다.

 

 

Ability Tasks

Overview of the Ability Task class.

docs.unrealengine.com

 

Gameplay Tags

액터의 프로퍼티인 TArray<FName> Tags와는 다른 것이다.

액터에 Gameplay Tag를 부여해, 해당 태그를 가진 액터만 필터링 해 능력을 부여할 수 있다.

태그가 추가되거나 제거될 때 델리게이트가 발동된다.

 

 

Gameplay Tags

Gameplay Tags can be used to identify, categorize, match, and filter objects.

docs.unrealengine.com

 

Gameplay Attributes

체력, 스태미나 등 부여할 수 있는 속성이다.

수정될 때 델리게이트가 발동된다.

 

Gameplay Effects

Gameplay Attribute, Tag, Cue 등을 변경하는데 사용된다.

로직을 수행하지 않으며, 이펙트의 효과들을 지정할 뿐이다.
예) HP 50 감소, 3초간 MP 200 증가, ...

C++로도 만들 수 있지만 보통 블루프린트로 제작하며, 대부분의 경우 태그와 함께 사용된다.

 

 

Gameplay Attributes and Gameplay Effects

Overview of Attributes and Effects within the Gameplay Ability System.

docs.unrealengine.com

 

Gameplay Cues

Gameplay Effect가 적용되는 동안 파티클 효과를 재생하는 곳 등에 사용된다.
이펙트가 실행될 때 함께 적용되며, 이펙트가 종료되면 같이 종료된다.

네트워크를 통해 알아서 복제된다.

정적 큐는 메모리에 1개만 존재하고 값을 수정할 수 없다.
액터 기반 큐는 인스턴스화 되어 생성되며, 값을 수정할 수 있다.

 

 

GameplayCues

Cues to trigger non-simulated reactions in response to this GameplayEffect such as sounds, particle effects, etc

docs.unrealengine.com

 

Gameplay Events

GAS와 의사소통할 수 있는 수단이다.
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그