Unity

[Unity] Time.deltaTime 의미

TIM_0529 2021. 8. 28. 11:23
반응형

Time.deltaTime의 의미는 

 

이전 프레임에서 현재 프레임까지 걸린 시간이다.

 

int speed=1;

 

이라고 가정하자

 

이 변수를 가지고 캐릭터에 이동속도나 아니면 어떤 오브젝트가 움직이는 속도를 계산한다고 하면

 

모든 컴퓨터가 과연 같은 값을 가지고 이동을 할까?

 

사실은 그렇지 않다.

 

그렇다면 모든 컴퓨터가 거의 같은 값의 이동을 할게 하는 방법은 무엇이 있을까?

 

그 답을 찾기 전에 서로 다른 컴퓨터가 왜 다른 값의 이동을 보여주는지를 알아야 할 필요가 있다.

 

여기 보통의 노트북이 있다 이 노트북은 30프레임이라고 가정해보자 

 

그리고 프레임이 60정도 나오는 게임 컴퓨타가 있다고 역시 가정해보자

 

그렇다면 노트북과 컴퓨터가 저 변수를 가지고 값을 계산하는 방법은 다음과 같다.

 

자신의 프레임 * 변수

 

노트북 =30 * speed 

 

컴퓨터 = 60 * speed

 

둘은 서로 다른 값을 가지고 있다. 따라서 결과 값이 다르다 이 문제로 인해 이동값이라 던지 변수를 사용한

 

값에 결과가 컴퓨터마다 서로 다른것이다.

 

저 값을 같게 하기위해 Time.deltaTime을 사용하는 것이다.

 

현재 컴퓨터에 맞는 1/프레임을 곱해준다

 

자신의 프레이 * 변수 * Time.deltaTime

 

노트북 = 30 * speed *1/30 = speed

 

컴퓨터 = 60 * speed * 1/60 = speed 

 

서로 다 같은 값이 나오므로 모든 컴퓨터가 같은 값에 결과가 나오게 할 수 있다.

 

다음에는 사용 방법에 대해 알아보겠습니다.

반응형