개발/Unity - 유용한 코드 저장소

[Unity] 정해진 시간에 비례해서 이동하기

센솔 2020. 10. 29. 21:44
    public IEnumerator MoveToPosition(Transform transform, Vector3 position, float timeToMove)
    {
        var currentPos = transform.position;
        var t = 0f;
        while (t < 1)
        {
            t += Time.deltaTime / timeToMove;
            transform.position = Vector3.Lerp(currentPos, position, t);
            yield return null;
        }
    }

 

현재 위치, 목표 위치, 이동 시간을 매개변수로 전달받으면 Lerp 보간을 적용받아 부드럽게 움직이는 함수이다.

 

출처

 

Move Transform to Target in X seconds - Unity Answers

 

answers.unity.com