0. 개요

게임플레이 이펙트는 GAS에서 속성 세트(Attribute Sets)에 속하는 속성 값(HP, MP, 경험치)를 변화시키는 요소를 뜻한다.

또는 화상 / 빙결 / 독 등의 상태들로 인한 속성 값 변화도 이에 속한다.

이번 챕터에서는 다양한 게임플레이 이펙트에 대해 학습한다.

 

 

1. 게임플레이 이펙트(Gameplay Effects)

- UGameplayEffect 타입이다.

- UGameplayEffect를 상속받는 블루프린트 클래스를 이용한다.

- 속성과 게임플레이 태그를 변화시킨다.

 

 

2. 게임플레이 이펙트의 구성요소 

(1) 속성 수정(Attributes Modifier)

단순, 복잡한 수학적 계산을 통해 속성 값을 변경한다.


- 모디파이어(Modifier)

GAS에서 게임플레이 이펙트 내에 포함되어 있다. 속성 값을 변경하는 역할을 한다.

다음의 구성요소를 지닌다.

 

(1) 속성 (Attirubute)

변경하고자 하는 속성(힘, 민첩, 체력, 최대 체력 등등).

 

(2) 연산자 (Operator)

더하기, 곱하기, 나누기, 오버라이드(값을 대체함), 백분율 스케일(Percent Additive ; 비율만큼 더하기) 연산자를 가진다.

 

(3) 크기 (Magnitude)

속성을 변화시킬 값

- Scalable Float : 임의의 플로트 값

- Attribute Based : 속성 값, 힘의 열 배를 HP에 더한다는 식의 계산을 할 때 사용

- Custom Calculation Class : 개발자가 임의로 만든 함수 식 또는 클래스


 

(2) 지속 시간(Duration Time)

이펙트가 즉시 발동 / 시간에 따라 발동 / 지속 시간동안 발동 / 무한하게 발동되는지 결정할 수 있다.


(3) 스태킹 (Stacking)

같은 이펙트가 여러번 중첩될 경우 이펙트 간 누적 / 덮어씌움 / 결합 및 전환을 결정한다.

 

(4) 게임플레이 태그 추가 (Gameplay Tags)

이펙트가 액터에 대해 게임플레이 태그를 추가할 수 있다.


- 스택 규칙(Stacking Rules)

1. 누적 스택(Additive Stacking)

동일한 이펙트가 여러번 작용하면 중첩된다.

 

2. 덮어쓰기 스택(Override Stacking)

동일한 이펙트가 여러번 작용하면 가장 마지막의 이펙트만 적용된다.

 

3. 최대/최소 스택(Maximum / Minimum Stacking)

동일한 이펙트가 여러번 작용할 때 가장 큰 값 / 가장 작은 값의 이펙트만 적용된다.

 

4. 중첩 제한 스택(Limited Stacking)

중첩 가능한 이펙트의 수가 제한되어 있다.

 

5. 시간 제한 스택(Timed Stacking)

동일한 이펙트가 여러번 작용하면 시간이 지남에 따라 한 개씩 제거된다.