Lerp는 선형 보간 함수로 대충 일반식을 쓰자면 다음과 같다.
T Lerp
이것을 풀어서 쓰면 다음과 같은 식이 된다.
Lerp(start , end , t ) = start * ( t-1) + end * t
이것을 말로 풀어서 t에 따른 Lerp의 Return 값을 정리하면
t 가 0 -> start
t 가 0.5 -> start * 0.5 + end * 0.5
t 가 1 -> end
말로 풀어서 쓰면 t가 0에서 1 사이의 값일때
반환값은 start에서 end로 변한다는 뜻이다. 이런 함수를 어디다 쓰는 것일까
제일 기본적인 코드는 다음과 같다.
이제 Scene에 큐브하나를 넣고 빈 게임오브젝트를 만들어서
이름을 "dest"로바꾼 뒤 실행하보자
* 여기서 Lerp와 Slerp의 차이점을 볼수 있도록 Lerp만 Slerp로 바꾼 스크립트를 하나 더 만들었다.
- 여기서 알 수 있는 사실은 다음과 같다.
- 큐브는 dest의 위치로 2초동안 움직여서 이동한다.
- dest의 위치가 멀경우 좀더 빠르게 움직인다.
- Slerp를 사용할 경우 움직일때 완만하게 움직인다.
대충 어떤 느낌으로 사용되는지 알 수 있을 것이다.
Vector3 외에도 Quaternion(회전), Color, float(Mathf), 등등에
Lerp를 적용할 수 있다.
이런 다양한 Lerp 들을 활용한 간단한 영상이다.
소스코드
github : https://github.com/geniikw/Interpolate-Lecture/
Aㅏ.... 코딩이 손에 안잡혀서 간단한 강좌 하나 올리고 갑니다 ;ㅁ;
내일은 다시 디팬스 게임으로.