유니티 : Time.deltaTime(델타 타임) 사용하는 방법

2022. 1. 13. 12:22개발/유니티

게임은 다양한 환경에서 실행된다. 컴퓨터의 사양에 따라서 게임은 다른 프레임 수를 나타낸다.

그렇게 되면 발생하는 문제가 있다! 

1프레임에 1번의 update 함수가 실행이 되기 때문에 온라인의 경우 똑같이 일정한 시간이 흐르더라도 결과가 달라질 수 있다. 예를 들어 레이싱 게임의 경우 누군 10m를 가고 누군 1m를 간다던지.

그럴 때 델타 타임을 이용한다. 이 델타타임을 곱함으로써 다른 환경에서도 동일한 환경으로 보정해준다.

 

Time.deltaTime 사용하는 방법은 두 가지가 있다.

 

Translate 함수에서 벡터 객체에 직접 곱하는 방법.

예)

Vector3 vec = new Vector3(
         Input.GetAxis("Horizontal") * Time.deltaTime, 
         Input.GetAxis("Vertical") * Time.deltaTime,
         0); // x축, y축, z축, 벡터 값

transform.Translate(vec);

혹은 바로

transform.Translate(Vec * Time.deltaTime);

 

Vector의 이동 함수에 시간 매개변수에 곱하기

예)

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

반응형