[Unity/C#]Lerp

강동현·2024년 1월 1일
0

Unity/C#

목록 보기
10/26

Lerp

  • 선형 보간법을 말한다.

선형 보간

  • 두 점(시작점/끝점) 사이무수한 점들을 추정하기 위해 직선 거리에 따라 비례적으로 계산하는 방법
  • 정보가 없는 두 점 사이 값을 예상하는 방법

Lerps()

  • Unity는 다양한 Lerp 함수를 지원한다.

1. Mathf.Lerp(min,max,ratio)Mathf.Lerp(min, max, ratio)
두 수 사이 보간
2. Color.Lerp(min,max,ratio)Color.Lerp(min, max, ratio)
두 색상 사이 보간
3. Color32.Lerp(min,max,ratio)Color32.Lerp(min, max, ratio)
두 생삭(Color32) 사이 보간
4. Vector2.Lerp(min,max,ratio)Vector2.Lerp(min, max, ratio)
두 Vector2 사이 보간
5. Vector3.Lerp(min,max,ratio)Vector3.Lerp(min, max, ratio)
두 Vector3 사이 보간
6. Vector4.Lerp(min,max,ratio)Vector4.Lerp(min, max, ratio)
두 Vector4 사이 보간
7. Material.Lerp(min,max,ratio)Material.Lerp(min, max, ratio)
두 Material 사이 보간

Lerp 사용법

  • Lerp의 개념을 제대로 알고, 고수처럼 사용하자.
  • 가장 많이 사용되는 Vector3.Lerp()로 설명한다.

Lerp(최소값,최대값,비율)Lerp(최소값, 최대값, 비율)

  • 최소 값 - 최대 값 사이의 비율에 해당하는 값이 산출되어 나오게 된다.
  • 비율을 적절히 넣어주는 것이 포인트로, 이는 보통 현재 시간 / 타겟 시간을 넣어준다.
public class Lerp : MonoBehaviour{
	Vector3 startPos;
    Vector3 targetPos = new Vector3(0, 5, 0);
    float currentTime = 0.0f;
    float targetTime = 5.0f;
    void Start(){
    	startPos = transform.position;
    }
    void Update(){
    	currentTime += Time.deltaTime;
        transform.position = Vector3.Lerp(startPos, targetPos, currentTime / targetTime);
    }
}
profile
GAME DESIGN & CLIENT PROGRAMMING

0개의 댓글