공부/UE

[UE] GameplayEffect의 Stack 여부에 따른 Tag 중첩

sudo 2025. 10. 20. 00:51
반응형

Q) 왜 Stack이 쌓이는 GE는 Tag가 중첩되지 않지만, Stack이 쌓이지 않는 GE는 Tag가 중첩될까?

 

A) Stack이 쌓이는 GE를 찾아서(FindStackableActiveGameplayEffect) 있으면 해당 GE에 스택만 변경, 없으면 FActiveGameplayEffect 새로 만들어서 태그 및 스택 변경

 

FindStackableActiveGameplayEffect로 스택 가능한 GE를 먼저 찾는다
FindExistingActiveGameplayEffect로 찾아서 있으면 타는 if문

 

만약 FindExistingActiveGameplayEffect로 스택 가능한 GE가 없으면 새로운 FActiveGameplayEffect를 만든다

 

만약 스택 가능한 GE가 없으면 새로 만든 FActiveGameplayEffect를 인자로 넘기는 InternalOnActiveGameplayEffectAdded를 호출해준다. 내부에서 UpdateTagMap으로 GrantedTag를 달아준다. tag를 달아주는 대상(UpdateTagMap를 호출해주는 Owner)은 AbilitySystemComponent. 즉 Effect를 적용 받는 Actor의 AbilitySystemComponent에다가 태그를 중첩해준다

 

그래서 스택이 안쌓이는 GE를 동시에 3개 적용 받으면 이렇게 Tag가 중첩된다

 

반응형

'공부 > UE' 카테고리의 다른 글

[UE] Controller에 접근하는 방법들  (0) 2025.10.19
[UE5] PlayerState, PlayerController의 Replicate 시점  (0) 2025.10.14
[UE] GAS in Multiplayer Game  (0) 2025.10.03
[UE] Rotation  (0) 2025.10.03
[UE] 입력을 매핑하는 과정  (0) 2025.10.03