유니티(Unity) 보간(interpolation)함수 종류 및 예시
- 유니티게임개발/기초공부
- 2024. 8. 21.
유니티(Unity) 보간(interpolation)함수 종류 및 예시
Mathf.Lerp
주어진 두 값 사이를 선형적으로 보간(interpolate)하는 데 사용됩니다. t는 0과 1 사이의 값을 가지며 t가 0이면 a를 반환하고 t가 1이면 b를 반환합니다. t가 0과 1 사이에 있으면 a와 b 사이에서 보간한 값을 반환합니다.
float a = 0f;
float b = 10f;
float t = 0.5f;
float result = Mathf.Lerp(a, b, t);
//result는 5f입니다.
https://docs.unity3d.com/ScriptReference/Mathf.Lerp.html
Mathf.SmoothStep
Mathf.Lerp와 유사하게 주어진 값 사이를 보간하지만 부드러운 단계적 보간을 수행합니다. 시작에서 빨라지고 끝에서 느려집니다. 물체의 가속과 감속, 자연스러운 애니메이션, 페이딩, 기타에 사용할수있습니다.
https://docs.unity3d.com/ScriptReference/Mathf.SmoothStep.html
Vector3.Lerp
두 벡터 간의 선형 보간을 수행하는 함수입니다. t의 값이 0이면 시작 벡터를 반환하고 1이면 끝 벡터를 반환합니다. t가 0과 1 사이일 때 시작 벡터와 끝 벡터 사이에서 보간한 벡터를 반환합니다.
Vector3 start = new Vector3(0, 0, 0);
Vector3 end = new Vector3(10, 10, 10);
float t = 0.5f;
Vector3 result = Vector3.Lerp(start, end, t);
//result는 (5, 5, 5)입니다.
https://docs.unity3d.com/ScriptReference/Vector3.Lerp.html
Vector3.MoveTowards
현재 위치에서 목표 위치로 이동시킵니다. maxDistanceDelta 매개변수로 이동 속도를 제어합니다.
float step = speed * Time.deltaTime ;
transform.position = Vector3.MoveTowards (transform.position, target.position, step);
https://docs.unity3d.com/ScriptReference/Vector3.MoveTowards.html
기타
Mathf.LerpAngle
Mathf.InverseLerp
Mathf.SmoothDamp
Mathf.PingPong
Vector3.SmoothDamp
Vector3.Slerp
'유니티게임개발 > 기초공부' 카테고리의 다른 글
유니티 프로(Unity Pro) 구독하기(30일 무료 체험 플랜 사용) (1) | 2024.09.06 |
---|---|
유니티(Unity)에서 애니메이터(Animator) 상태 전환 기본 (0) | 2024.09.05 |
유니티(Unity) 애니메이터 오버라이드 컨트롤러 사용하기(Animator Override Controller) (0) | 2024.08.02 |
유니티(Unity) 모바일(안드로이드, iOS) 게임 프레임 저하 문제해결(target Framelate, Vsync Count) (0) | 2024.08.01 |
유니티에서 안드로이드 로그캣(android logcat)을 사용하여 디버깅 (0) | 2024.08.01 |