
The Stack 강의를 보다가 이 녀석의 존재를 알게 되었는데,
진짜 이해가 1도 안되서 강의 자료랑 이것저것 찾아보고 정리해봤다.
두 값 사이를 일정한 비율로 선형 보간하는 기능
Unity에서 주로 사용되는 Mathf.Lerp나 Vector3.Lerp는
시작 값(start)과 끝 값(end) 사이의 값을 t 비율(0 ~ 1)로 계산하여 반환
a = Vector3.Lerp(a, b, t)
Vetor3.Lerp로 사용하고 a, b, t 값을 넣어주어 사용한다.

Lerp의 반환 값을 나타낸 식이다.
벌써 어지럽다. 구글링을 통해 찾아보니 쉽게 설명된 예시를 통해 이해를 할 수 있었다.

a = 0, b = 10, t = 0.5 라 가정 했을때 그림으로 나타낸 것이다.
위 그림을 보면 a 값이 Lerp를 통해 변화하게 되는데,
시작위치 a부터 목표위치 b까지 t만큼의 일정한 비율로 프레임마다
이동하게 되면서자연스러운 움직임을 나타내게 된다.
위 예시처럼 t의 값을 고정으로 사용해도 되지만 프레임마다의 간격이 달라서
오차가 생길 수도 있다. 그래서 프레임마다의 간격을 일정하게 하기 위해서
Time.DeltaTime와 speed를 사용하기도 한다.
transform.position = Vector3.Lerp(
transform.position,
desiredPosition,
StackMovingSpeed * Time.deltaTime);
이제 다시 The Stack을 봐보면 Lerp를 사용하여 transform.position의 위치를
desiredPosition 까지 변화시켜 주고 있다는 것을 알 수 있다.
t의 값을 StackMovingSpeed * Time.deltaTime로 주어서 간격을 일정하게 유지해주었다.

이 녀석과 연결되 있는게 실제 게임이 작동하는 TheStack인데
블록이 놓여지면 transform.position을 움직여
블록을 따라 카메라가 움직이는 듯한 느낌을 준 것 같다.

이제 조금 이해가 되기 시작한 것 같은데, 다시 전체 코드를 보면 살짝 머리가 아프다.
개인 과제도 해야되는데 벌써 강의 내용만으로도 벅차다....ㅎ