Lerp (Linear Interpolation)
- 일정한 비율로 두 점 사이를 선형적으로 보간합니다.
- 이동 경로는 직선입니다.
- 보간되는 값은 시작점과 끝점 사이를 일정한 속도로 이동합니다.
using UnityEngine;
public class MoveInterpolation : MonoBehaviour
{
public Transform targetPosition; // 목표 위치
public float speed = 1.0f; // 이동 속도
void Update()
{
// 선형 보간을 사용하여 현재 위치에서 목표 위치로 이동
transform.position = Vector3.Lerp(transform.position, targetPosition.position, speed * Time.deltaTime);
}
}
Slerp (Spherical Linear Interpolation)
- 두 회전 사이를 부드럽게 보간하여 자연스러운 회전 효과를 만듭니다.
- 시작점과 끝점 사이의 각도에 따라 속도가 변합니다.
- 주로 회전을 부드럽게 처리할 때 사용됩니다.
using UnityEngine;
public class RotateInterpolation : MonoBehaviour
{
public Transform targetRotation; // 목표 회전
public float speed = 1.0f; // 회전 속도
void Update()
{
// 구면 선형 보간을 사용하여 현재 회전에서 목표 회전으로 회전
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation.rotation, speed * Time.deltaTime);
}
}
이와 같이 위치 보간에는 Vector3.Lerp를, 회전 보간에는 Quaternion.Slerp를 사용하는 것이 일반적입니다. 하지만 상황에 따라 적절한 방법을 선택하는 것이 중요합니다.