언리얼 엔진/Gameplay Ability System - Udemy

[UE5/Gameplay Ability System(GAS)] - Gameplay Effect(Duration and Periodic)

mane 2024. 2. 18. 22:39
728x90
반응형

인사말

안녕하세요. 이번 포스트에서 게임 플레이 이펙트를 지속 시간과 주기적인 효과가 있는 게임 플레이 이펙트를 만들어보도록 하겠습니다.


지속 시간이 있는 게임플레이 이펙트(Duration Effects)

지속 시간이 있는 게임플레이 이펙트는 정해진 기간 동안 특정 효과를 적용한 후 자동으로 제거되는 유형입니다. 예를 들어, 일정 시간 동안 대상의 최대 체력을 증가시키는 효과가 이에 해당합니다.

주기적 이펙트(Periodic Effects)

주기적 이펙트는 지속 또는 무한 이펙트를 주기적으로 실행하여 속성에 변경을 적용하는 특별한 유형입니다. 이러한 변경은 인스턴트 이펙트처럼 기본값에 영구적으로 적용되며, 이펙트 제거 시에 되돌리지 않습니다.


결과물 : 힐링 크리스탈 및 마나 크리스탈 구현

힐링 크리스탈

  1. UGameplayEffect를 상속받는 새로운 Blueprint 클래스 생성 후, 지속 시간을 설정합니다.
  2. HasDuration으로 지속 정책 설정 및 주기적 변경을 위해 주기(Period) 값을 설정합니다.
  3. ApplyGameplayEffectSpecToSelf 또는 사용자 정의 Blueprint Callable 함수를 사용하여 이펙트 적용합니다.

위의 이미지에 대해 설명하자면 Has Duration 한다. 총 2초 동안 0.1초마다. 체력을. 1씩 Add 한다. 라는 의미이다.

마나 크리스탈

  1. 힐링 크리스탈과 유사한 방식으로 마나를 회복시키는 주기적 이펙트를 생성합니다.
  2. AuraEffectActor를 상속받는 새로운 Blueprint를 생성하여 마나 회복 이펙트를 설정합니다.
  3. 게임 내에 마나 크리스탈을 배치하고, 플레이어와의 상호작용 시 마나가 주기적으로 회복되도록 합니다.

위의 이미지에 대한 설명은 힐링 크리스탈과 같습니다.

728x90
반응형