본문 바로가기
개발자가 되어보자..공부공부/개발 일지

C# 유니티 공부 3 - Time.deltaTime과 Vector3 에서의 이동 함수 4가지 (Movetoward, SmoothDamp, Lerp, SLerp )

by 묭묭이와소담이 2022. 12. 3.
반응형

* Vector 3에서 정해주는 이동함수 4가지.

 

 

사용방법

- Vector3.이동함수 (현재위치, 목표위치, 시간 or 속도)

 

1. MoveTowards()

- 단순 등속이동

 

transform.position = Vector3.MoveTowards(현재위치, 목표위치, 속도)

 

2. SmoothDamp()

- 거리에 비례한 감속 이동 (가까워질수록 느려짐)

- ref는 참조 접근... 실시간으로 바뀌는 값에 적용이 가능하다.

- 속도변수에 반비례하여 속도가 증가한다.

 

Vector3 velo = Vector3.zero;    ----- (0,0,0)을 의미

transform.position = Vector3.SmoothDamp(현재위치, 목표위치, ref velo, 속도);

                                                                                                     참조개념.

3. Lerp()

- 선형 보간 이동 

- 선형보간이란 두 끝점의 값이 주어졌을 때, 두 점을 이은 선분안의 값을 추정하여 반환하는 것.

- 속도변수에 비례하여 속도 증가(최대값 1... 0~1)

- SmoothDamp보다 감속시간이 길다.

 

transform.position = Vector3.Lerp(현재위치, 목표위치, 속도)

 

4. Slerp

- 구면 선형 보간 이동

- 구면 선형 보간이란 두 점 사이의 각을 일정하게 보간하는 것.

- 포물선, 호 형태로 이동.

 

transform.position = Vector3.Slerp(현재위치, 목표위치, 속도)

 

 


 

★ Time. dletaTime 

- 이전 프레임의 완료까지 걸린 시간 (1프레임당 소비되는 시간)

- 컴퓨터 성능에 따라 걸리는 프레임의 시간을 일정하게 보정해주는 역할.

(어떤 컴퓨터에서 작동해도 일정하게 작동하도록 만들어 줌.)

 

<사용방법>

Translate : 벡터에 곱하기

transform.Translate(vec * Time.deltaTime);

 

Vector() : 시간(속도) 매개변수에 곱하기

Vector3.Lerp(Vec1, Vec2, T * Time.deltaTime);

 

반응형

댓글