피너클의 it공부방
유니티 Vector3.Lerp 본문
728x90
반응형
Vector3.Lerp (Vector3 a, Vector3 b, float f) : a + (b - a) * f를 반환하는 함수
예시로 알아보자
1번
Vector3 a는 (0, 0, 0) 이고 Vector3 b는 (10, 0, 0), float f는 0.5이다.
이때 Lerp를 사용하면 Vector3 v에는
a와 b사이 50%만큼의 자리의 값, 즉 (5, 0, 0)이 들어가게된다.
그럼 f에 0.7을 넣으면 어떻게 될까
당연히 (0, 0, 0)과 (10, 0, 0) 70%사이 값인 (7, 0, 0)이 나오게 된다.
2번
그럼 f에 -1이나 2를 넣게 되면 어떻게 될까?
오류가 뜨거나 (10, 0, 0)의 값을 넘을거라 예상했는데 -1은 0으로 계산되고 2는 1로 계산되는거 같다.
위는 Vector3.Lerp가 작동되는 원리이다. t에 Mathf.Clamp01을 적용한 뒤 계산하는걸 볼수있다.
Mathf.Clamp01(float t)는 t를 0과 1사이의 값으로 조정하는 것이다.
이때 0보다 작으면 0이 반환되고 1보다 크면 1이 반환된다.
0.5면 0.5가 반환되고 -1이면 0이 반환되고 2면 1이 반환되는 것이다.
728x90
반응형
'유니티 여러가지' 카테고리의 다른 글
유니티 Coroutines (0) | 2024.09.08 |
---|---|
유니티 Header (0) | 2024.09.07 |
유니티 Time.deltaTime (0) | 2024.09.03 |
유니티 Quaternion.Euler (0) | 2024.09.03 |
유니티 Input.GetAxisRaw (0) | 2024.09.02 |
Comments