Software/Unity

[Unity] 10. 목표지점으로 이동시키기

yunaoh2 2021. 8. 31. 17:05

1. MoveTowards(현재위치, 목표위치, 속도) : 단순 등속 이동 - 목표지점으로 이동

 *속도 값 작을수록 느리게 이동   1f

 

2. SmoothDamp( 현재위치, 목표위치, 참조 속도, 속도) : 부드러운 감속 이동 

 *ref : 참조 접근 -> 실시간으로 바뀌는 값 적용 가능

  *속도 값 작을수록 빠르게 이동 0.1f

 

3. Lerp(현재위치, 목표위치, 속도):  선형 보간 이동. SmoothDamp보다 감속시간이 김. 최대값 1

  *속도 값 작을수록 느리게 이동. 0.05f

 

4. SLerp(   ): 구면 선형 보간, 포물선 이동

 

public class Move : MonoBehaviour
{
    Vector3 target = new Vector3 (8, 1.5f, 0);

    void Update()
    {
       
        //1. MoveTowrds
        transform.position =
            Vectore3.MoveTowards(transform.position, target, 1f);

        //2. SmoothDamp
        Vector3 velo = Vector3.zero;
        transform.position=
            Vectore3.SmoothDamp(transform.position, target, ref velo, 0.1f)

         //3. Lerp
         transform.position = 
             Vector3.Lerp(transform.position, target, 0.005f);

         //4. SLerp
          transform.position = 
          Vector3.SLerp(transform.position, target, 0.005f);
    }
}

 

 

참고영상

https://www.youtube.com/watch?v=gnO1GVRuKxk&list=PLO-mt5Iu5TeYI4dbYwWP8JqZMC9iuUIW2&index=8