[UE5/GAS] GameplayEffectSpec

Eu4ng·2024년 2월 7일

GameplayEffect 를 적용하는 방법은 GameplayEffectSpec 을 생성한 다음 이를 AbilitySystemComponent 에 적용하는 것입니다. 이 때, GameplayEffectSpec 을 생성하는 방법은 MakeOutgoingGameplayEffectSpec 로 AbilitySystemComponent 와 GameplayAbility 에서 호출이 가능합니다.

GameplayEffectSpec 에서 EffectContext 를 얻을 수 있는데 여기서 HitResult, Instigator, Causer 등의 정보가 담겨있습니다. Instigator 나 Causer 처럼 액터와 관련된 정보는 생성 시점에서 결정되기 때문에 수정이 불가능합니다. 하지만 HitResult, Origin 과 같이 충돌 정보와 관련된 것들은 수정이 가능합니다.

다음은 총기와 관련된 사용 예시입니다.

  1. 총기 발사 GameplayAbility 활성화
  2. GameplayAbility 에서 MakeOutgoingGameplayEffectSpec 로 GameplayEffectSpec 생성
  3. GameplayEffectSpec 및 기타 데이터를 주입한 총알 스폰
  4. 총알 발사
  5. 총알 충돌
  6. 총알에서 전달받은 GameplayEffectSpec 에 HitResult 를 주입한 뒤 이를 충돌한 액터의 AbilitySystemComponent 에 적용
profile
게임 클라이언트 프로그래머 취준생

0개의 댓글