0. 개요
게임플레이 태그는 게임플레이 이펙트가 가지는 추가적인 이름이라고 할 수 있다.
즉, GAS에서 어떤 이펙트가 발동 중이라는 것을 표시하게 해주는 역할을 한다.
1. 게임플레이 이펙트에 게임플레이 태그 적용하기
(1) 게임플레이 이펙트
GE_CrystalHeal 이펙트의 디테일에서 아래 옵션을 찾는다.
- GameplayEffectAssetTag : 게임플레이 이펙트-액터가 아니라-가 가지는 태그
① Combined Tags : 이펙트의 부모에게서 물려받는 태그
② Added : 부모에게 없고 본인만 가지는 태그
③ Removed : 부모에게서 물려받지 않도록 지정할 태그
- GrantedTags : 이펙트를 획득한 액터에게 붙이는 태그
GE_CrystalHeal은 획득한 액터의 Health 속성을 증가시키는 역할을 하므로 액터의 Health가 변동한다는 뜻을 가지도록 액터에게 Health 태그를 부여하도록 한다.
이제 캐릭터가 수정을 습득하면 체력이 회복되는 시간(Duration)동안 Attributes.Vital.Health 태그가 캐릭터에 부여된다.
시간이 지나면 태그가 사라지는 것도 확인할 수 있다.
(2) 지속 이펙트(Duration Effect) - 스택(Stacking)
중첩(Stack)되는 동일한 이펙트(GE_CrystalHeal)를 여러 개 얻어도 하나의 태그만 부여한다.
중첩되지 않는 동일한 이펙트를 여러 개 얻으면 다수의 태그가 부여된다.
(3) 즉시 발동 이펙트(Instant Effect)
Instant 타입의 이펙트에 태그를 부여해도 액터에 태그를 부여하지 않는다.
즉, 즉시 발동 이펙트에는 태그를 부여할 수 없다.
(대신에 델리게이트를 사용할 수 있다)
(4) 멀티 플레이 환경에서 태그
복제 모드 중 Mixed는 플레이어 캐릭터에, Minimal은 적 캐릭터에 적용된다.
두 모드 모두 태그가 복제된다는 것을 알 수 있다.
(5) ASC 내의 기타 여러 함수들
게임플레이 이펙트가 제거될 순간에 콜백 함수를 호출하는 OnAnyGameplayEffectRemovedDelegate를 사용하면, 즉시 발동 이펙트(Instant Effect)가 사라질 때 태그로 관리하는 것이 아니라, 콜백 함수를 발동할 수 있게 된다.
!! 주의 : 언리얼 엔진 버전이 5.3 이상일 경우 !!
'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
5-6. 액터가 보유한 태그 가져오기 - GetAllAssetTags (0) | 2024.08.30 |
---|---|
5-5. 게임플레이 이펙트 - (3) 델리게이트 (0) | 2024.08.30 |
5-3. 게임플레이 태그 생성하기 - (2) 데이터 테이블에서 생성하기 (0) | 2024.08.30 |
5-2. 게임플레이 태그 생성하기 - (1) 에디터에서 생성하기 (0) | 2024.08.30 |
5-1. 게임플레이 태그(Gameplay Tags) (0) | 2024.08.30 |