유튜브 26 - https://youtu.be/kS3y4adpCT4
안녕한세요~ 드디오 26강 4분의 1이 넘었습니다. 오늘은 유니티에서 아주 중요한 시간 및 프레임 속도 관리에 요긴하게 쓰이는 Time.deltaTime을 배워보도록 합니다. 저는 처음에 이 부분이 약간 잘 이해가 안되었습니다. 책을 보아도 뭔가.. 애매했는데요. 가만히 생각해보니 잘 이해가 되더군요. 이제부터 제가 이해한 방식으로 풀어가볼까 합니다.

먼저 유니티의 매뉴얼을 한번 살펴봅니다. 좋은 참고 교재입니다.
https://docs.unity3d.com/kr/current/Manual/TimeFrameManagement.html

좀 더 자세히 보실 수 있습니다. 번역기를 돌려보니 Time.deltaTime이란 “마지막 프레임 이후의 완료 시간”이라고 합니다.
https://docs.unity3d.com/kr/current/ScriptReference/Time-deltaTime.html

저는 처음에는 잘 이해되지 않았는데, 구글링을 해보며 이와 같은 그림을 그려보니 이해가 되더군요. deltaTime은 마지막 프레임 이후의 완료 시간(초)으로 float 타입입니다. 연산 등의 이유로 일정하지 않는데요. 이것은 유니티에서 Stats를 보면 알 수 있습니다.

실제로 아웃풋을 해보면 즉, Time.deltaTime을 출력해보면 값이 다릅니다. 즉, 마지막 프레임 이후의 완료 시간 (초)이 제각각 다릅니다.

이제 다음의 코드를 통하여 Time.deltaTime의 의미를 확인합니다. 각 프레임 간격의 Time.deltaTime이 다르겠지만 어찌되었든 0초에서 1초까지 오는동안의 프레임 Time.deltaTime을 모두 더하면 1초가 될 것입니다. 우리는 이 부분을 이해하면 됩니다. 찬찬히 그림을 보시면서 이해해 보도록 합니다. 그리고 출력값을 살펴보면 이해가 잘 될 것입니다. 출력값이 계속 증가하는 것을 볼 수 있습니다. 점점 시간이 증가하는 개념입니다. 그림을 이해해보고, 유니티에서 Time.deltaTime의 출력값을 이해하면 됩니다. (유튜브를 참고하세요^^) 즉, 시간의 흐름을 볼 수 있습니다.

만약… int로 정수형으로 변환하여 본다면 어떨까요? 바로 이렇게 흐르는 시간을 정수형태로 확인할 수 있습니다. 이러한 방법으로 게임상에서 시간, 타이머를 구현할 수 있습니다. 와우^^

조금 어렵지 않았나요? 전 사실… 좀 어려웠습니다. 이해하고 나니 쉽더군요. 하지만 처음에는 생소하다 보니 잘 이해가 되지 않더라구요.. FPS가 다르다는 것을 안 뒤에야 이해가 확실하게 되더군요… Time.deltaTime까지 했으니 우리는 게임의 타이머도 구현할 수 있습니다. 그러나 더 중요한 것이 있습니다. 바로 초당 움직이는 캐릭터의 속도인데요. 다음시간에 캐릭터의 속도에 Time.deltaTime을 적용해야 하는 이유와 방법을 살펴보도록 하겠습니다. 그럼.. 오늘도 수고하셨습니다. ^^ 안녕~~~

유튜브 26 - https://youtu.be/kS3y4adpCT4
안녕한세요~ 드디오 26강 4분의 1이 넘었습니다. 오늘은 유니티에서 아주 중요한 시간 및 프레임 속도 관리에 요긴하게 쓰이는 Time.deltaTime을 배워보도록 합니다. 저는 처음에 이 부분이 약간 잘 이해가 안되었습니다. 책을 보아도 뭔가.. 애매했는데요. 가만히 생각해보니 잘 이해가 되더군요. 이제부터 제가 이해한 방식으로 풀어가볼까 합니다.
먼저 유니티의 매뉴얼을 한번 살펴봅니다. 좋은 참고 교재입니다.
https://docs.unity3d.com/kr/current/Manual/TimeFrameManagement.html
좀 더 자세히 보실 수 있습니다. 번역기를 돌려보니 Time.deltaTime이란 “마지막 프레임 이후의 완료 시간”이라고 합니다.
https://docs.unity3d.com/kr/current/ScriptReference/Time-deltaTime.html
저는 처음에는 잘 이해되지 않았는데, 구글링을 해보며 이와 같은 그림을 그려보니 이해가 되더군요. deltaTime은 마지막 프레임 이후의 완료 시간(초)으로 float 타입입니다. 연산 등의 이유로 일정하지 않는데요. 이것은 유니티에서 Stats를 보면 알 수 있습니다.
실제로 아웃풋을 해보면 즉, Time.deltaTime을 출력해보면 값이 다릅니다. 즉, 마지막 프레임 이후의 완료 시간 (초)이 제각각 다릅니다.
이제 다음의 코드를 통하여 Time.deltaTime의 의미를 확인합니다. 각 프레임 간격의 Time.deltaTime이 다르겠지만 어찌되었든 0초에서 1초까지 오는동안의 프레임 Time.deltaTime을 모두 더하면 1초가 될 것입니다. 우리는 이 부분을 이해하면 됩니다. 찬찬히 그림을 보시면서 이해해 보도록 합니다. 그리고 출력값을 살펴보면 이해가 잘 될 것입니다. 출력값이 계속 증가하는 것을 볼 수 있습니다. 점점 시간이 증가하는 개념입니다. 그림을 이해해보고, 유니티에서 Time.deltaTime의 출력값을 이해하면 됩니다. (유튜브를 참고하세요^^) 즉, 시간의 흐름을 볼 수 있습니다.
만약… int로 정수형으로 변환하여 본다면 어떨까요? 바로 이렇게 흐르는 시간을 정수형태로 확인할 수 있습니다. 이러한 방법으로 게임상에서 시간, 타이머를 구현할 수 있습니다. 와우^^
조금 어렵지 않았나요? 전 사실… 좀 어려웠습니다. 이해하고 나니 쉽더군요. 하지만 처음에는 생소하다 보니 잘 이해가 되지 않더라구요.. FPS가 다르다는 것을 안 뒤에야 이해가 확실하게 되더군요… Time.deltaTime까지 했으니 우리는 게임의 타이머도 구현할 수 있습니다. 그러나 더 중요한 것이 있습니다. 바로 초당 움직이는 캐릭터의 속도인데요. 다음시간에 캐릭터의 속도에 Time.deltaTime을 적용해야 하는 이유와 방법을 살펴보도록 하겠습니다. 그럼.. 오늘도 수고하셨습니다. ^^ 안녕~~~