• [Unity Engine] 유니티3D 강좌 - Lerp2014.08.29 PM 09:28

게시물 주소 FONT글자 작게하기 글자 키우기

이 강좌에서는 Lerp가 무엇인지 대강 알아봅시다 ㅇㅅㅇ;
Lerp는 선형 보간 함수로 대충 일반식을 쓰자면 다음과 같다.

T Lerp(T start, T end, float t);

이것을 풀어서 쓰면 다음과 같은 식이 된다.

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ㅏ.... 코딩이 손에 안잡혀서 간단한 강좌 하나 올리고 갑니다 ;ㅁ;
내일은 다시 디팬스 게임으로.
댓글 : 3 개
저도 유니티 공부하는데 좋은자료 감사해요. ㅋ 친구신청하고가요~
잘보고 갑니다.... 집에가면서 보고 있네요... 하고있는거 마무리 지어야 는데,,, 요즘 리버싱만 파고있어가지구
늦게까지 일하시나봐요 ㄷㄷ 집에서 편히 쉬세요.
친구글 비밀글 댓글 쓰기