언리얼/게임 프로젝트

GameplayAbilitySystem을 이용한 RPG 프로젝트 - (32) GE의 모디파이어_Attribute Based 파헤치기 02

monstro 2025. 1. 24. 17:20
728x90
반응형

이번 포스트에서도 역시 Attribute Based에 대해 알아보겠습니다.

이전에 Gameplay Effect에서 총 2개의 Backing Attribute를 설정하였습니다.

 

 

위 2개의 Backing Attribute는 Health에 대해서 Add 연산을 수행합니다.

그런데 여기에 Divide 즉, 나눗셈을 수행하게 되면 어떻게 될까요?

다음과 같이 하나의 Backing Attribute를 추가해보았습니다.

 

현재 Health의 값은 50이고, 

Vigor은 9, Resilience는 12, 마지막으로 Intelligence는 17입니다.

연산자간의 우선순위를 생각하면 나눗셈이 가장 우선으로 처리되야 합니다.

따라서 실제 결과는 다음과 같이 나와야 합니다.

 

50 / 17 + 9 + 12 = 23.16

 

이 값이 맞는지 실제 실행 결과를 확인해보겠습니다.

 

하지만 실제 실행 결과는 위와 같이 4.18이 나오는 것을 확인할 수 있습니다.

위와 같은 결과가 나온 이유는 다음과 같습니다.

Attribute Based 모디파이어 간에는 순서가 존재하고 

이런 순서대로 Backing Attribute가 Target Attribute에 적용됩니다.

 

다시 정리하자면 연산자 우선순위와 상관없이 설정된 순서대로 Backing Attribute를 적용하게 됩니다.

그러므로 이전의 수식을 다시 정리하면 다음과 같이 연산을 진행합니다.

 

{(50 + 9) + 12} / 17 = 4.18

 

연산 결과는 실제 실행 결과와 동일한 것을 확인할 수 있습니다.

이러한 Attribute Based 모디파이어 간의 순서를 통해 GameplayEffect를 설계할 수 있습니다.

 

다음에 이어지는 포스트에서는 Attribute Based 모디파이어의 연산을

더 수학적으로 돕는 다음의 설정들을 알아보겠습니다.

 

728x90
반응형