1
resposta

Time.DeltaTime

Estou com dúvida com relação ao Time.Deltatime com o que foi dito sobre ele nas aulas até então e pelo que li sobre na internet.

É dito que "Deltatime" é o tempo levado para a chamada ao método "Update" ou "FixedUpdate". Mas estes métodos são chamados para cada frame e a cada 0.2s certo? No caso do Update este tempo é variável de acordo com o tempo de criação de um frame e, mesmo rodando a 30FPS ou menos, é um tempo bem menor do que 1s.

Nos códigos de contador sempre é usado o Deltatime como um contador de segundos, contudo na seu conceito (pelo que entendi) ele não vale 1s, vale na realidade milésimos de segundo.

Em suma, a minha dúvida é como que funciona esta contagem de segundos usando o Time.Deltatime sendo que ele é variável e na realidade conta milésimos de segundo.

1 resposta

O deltaTime conta quanto tempo a Unity tá demorando pra renderizar 1 frame. Então suponhamos que seu jogo está rodando constantemente a 60 frames / seg.

Seu deltaTime seria algo em torno de 0.016666 segundos por frame. Mas se você multiplicar isso por 60 daria 1. É por isso que usamos o deltaTime. Não importa quantos frames estão rodando nem que esse número é variável no final o valor da soma dos números usados pra renderizar os frames daria 1 ou algo muito próximo de 1 ao passar 1 segundo no tempo real.

Por isso contamos tempo com ele somando os valores a cada frame que passa.