#Mathf
Unity에서는 수학 함수를 제공하는 Mathf 클래스를 제공합니다. Mathf 클래스는 Unity에서 수학적인 계산을 수행하는 데에 매우 유용합니다. 이를 사용하여, 게임 오브젝트의 이동, 회전, 크기 조절 등을 구현할 수 있습니다. 또한, Mathf 클래스를 이용하여 수학적인 연산을 수행하는 것은 게임 개발에서 물리적인 연산, 충돌 검사 등을 수행하는 데에도 매우 유용합니다.
이번에는 주요한 함수들을 살펴보겠습니다.
#값 제한 및 반복
값을 특정 범위로 제한하거나 특정 범위 내에서 반복해야 할 때 시간을 절약할 수 있습니다.
#Max, Min
Mathf.Max(float a, float b)
Mathf.Min(float a, float b)
주어진 값 중 최솟값 또는 최댓값을 반환합니다. 예를 들어, Mathf.Min(5, 10)는 5를 반환합니다.
#Clamp
Mathf.Clamp(float num, float min, float max)
주어진 값이 최솟값과 최댓값 사이에 있는지 확인하고, 벗어나면 최솟값 또는 최댓값으로 반환합니다. 예를 들어, Mathf.Clamp(10, 0, 5)는 5를 반환합니다.
#Clamp01
Mathf.Clamp01(float num)
수는 주어진 값이 0과 1 사이에 있는지 확인하고, 벗어나면 최솟값인 0 또는 최댓값인 1로 반환합니다. 이 함수는 특히 퍼센트 값을 다룰 때 유용합니다.
#보간
Unity의 보간 함수를 사용하면 주어진 두 점 사이의 값을 계산할 수 있습니다.
#Lerp
Mathf.Lerp(float a, float b, float t)
Mathf.Lerp() 함수는 start와 end 값을 t에 따라 보간하여 그 사이 값을 반환합니다. 만약 t가 0이면 start 값을 반환하고, t가 1이면 end 값을 반환합니다. 그리고 t가 0과 1 사이의 값이면, start와 end 값 사이에서 t에 해당하는 지점 값을 반환합니다.
예를 들어, Mathf.Lerp(0, 10, 0.5f)를 호출하면, 0과 10 사이에서 보간 계수가 0.5f인 값인 5를 반환합니다.
healthBar.fillAmount = Mathf.Lerp(healthBar.fillAmount, currentHealth, 5 * Time.deltaTime);
Mathf.Lerp() 함수는 보간 계수 t를 이용하여 값을 보관하므로, 보간 계수 t 값을 조절하여 값을 부드럽게 변화시키는 애니메이션 효과 등에 활용될 수 있습니다.
#연산
#Abs
Mathf.Abs(float num)
주어진 값의 절댓값을 반환합니다. 예를 들어, Mathf.Abs(-5)는 5를 반환합니다.
#Sqrt
Mathf.Sqrt(float num)
주어진 값의 제곱근을 반환합니다. 예를 들어, Mathf.Sqrt(16)는 4를 반환합니다.
#Sign
Mathf.Sign(float num)
주어진 값의 부호를 반환합니다. 값이 양수면 1, 음수면 -1, 0이면 0을 반환합니다. 예를 들어, Mathf.Sign(-5)는 -1을 반환합니다.
#Round
Mathf.Round(float num)
주어진 값을 반올림하여 정수로 반환합니다. 예를 들어, Mathf.Round(5.7f)는 6을 반환합니다.
이 외에도 다양한 함수들이 있지만 자주 사용하는 함수들만 다루었다.
'프로그래밍 > UNITY' 카테고리의 다른 글
[Unity] UI Toolkit 커스텀 토글 (0) | 2023.10.24 |
---|---|
[Unity] Timeline (0) | 2023.08.05 |
[Unity] Vector에 대하여 (0) | 2023.04.28 |
[Unity] State Machine을 이용한 FSM (4) | 2023.04.18 |
[Unity] 유니티 애니매이션 블렌드 트리 (0) | 2023.03.11 |