반응형
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
서로 다 같은 값이 나오므로 모든 컴퓨터가 같은 값에 결과가 나오게 할 수 있다.
다음에는 사용 방법에 대해 알아보겠습니다.
반응형
'Unity' 카테고리의 다른 글
[Unity] Animator - Has Exit Time (0) | 2021.08.28 |
---|---|
[Unity] Time.deltaTime 사용법 (0) | 2021.08.28 |
[Unity] transfom 을 사용한 오브젝트 움직이기 (0) | 2021.08.28 |
[Unity] 인보크 - Invoke(); (0) | 2021.08.28 |
[Unity] 난수 생성하기-Random.Range(); (0) | 2021.08.28 |