Delta Time
전 프레임이 완료되기 까지 걸린 시간
FPS(Frame Per Second) : 초당 프레임 수
30FPS를 유지할 수 있는 컴퓨터는, 30 frame per second, 초당 평균 30frame을 유지한다는 뜻이고 다시말하면, 1프레임 을 처리하는데 1/30 초가 걸린다는 것을 의미하고, 60FPS를 유지할 수 있는 컴퓨터는 1프레임당 1/60 초가 걸린다는것을 의미, 여기서 1/30 , 1/60 들이 delta time 이다,
여기서 유니티엔진의 Update 함수(1프레임당 1회 호출)에 쓴다고 하면
어떤 캐릭터가 있고 그 캐릭터의 포지션을 1프레임당 Vector3 만큼 이동 시킨다고 할때, 위 로직대로 한다면, 평균 30FPS 인경우 초당 30회 나아갈 것이고, 60FPS 인경우 60회 나아갈 것이다, 이는 공평한 플레이를 제공하지 못한다, 그러나 평균 유지 프레임이 다른건 어쩔 수 없어도
초당 이동하는 거리가 어느 컴퓨터든지 동일하게 만들어야 한다 그리고 이를 위해서 DeltaTime 을 쓴다
여기서 Time.deltaTime은 바로 전 프레임을 수행 하는데 걸린 게임시간, 한프레임당 걸리는 시간을 뜻하고, 즉 평균 30FPS 인경우, 약 1/30 이 될 것이고, 평균 60FPS 인경우 약 1/60 이 될것이다
그리고 위와 같이 Vector3 에 곱해주면, 한 프레임당 걸리는 시간만큼 나눠주게 되고
초당 이동하는 거리가 어느 컴퓨터든지 동일하게 된다
즉 평균 30FPS 인경우, 30회 이동할 것이기 때문에, 1회만 이동한 거리와 같게 하려면
1/30 을 곱해서, 이동한 거리를 30등분하여, 30 회만큼 이동하더라도 1회만 이동한 거리와 같게 될것이다