¿Qué importancia tiene time.deltatime en el movimiento 2D?
– UnityAssets3Free
bienvenido , soy juansito y esta vez os traigo
nueva pregunta curiosa
void movement()
rb.velocity = new Vector2(rb.velocity.x, speed*Time.deltaTime);
void movement()
rb.velocity = new Vector2(rb.velocity.x, speed);
Ambos códigos funcionan perfectamente bien para un simple movimiento en la dirección Y. Me preguntaba si en un juego 2D simple donde la velocidad de fotogramas no es realmente una molestia, ¿realmente importa usar time.deltatime? ¿Qué método debo seguir si hay alguna diferencia?
1 respuesta 1
multiplicar algo por Time.deltaTime
El intervalo en segundos desde el último fotograma hasta el actual
convierte un valor de un valor fijo por cuadro a un valor por segundo. Esto suele ser esencial para el movimiento continuo independiente de la velocidad de fotogramas. Y sí, en ese caso siempre debes ponerlo ahí. Una PC potente siempre funcionará a más fotogramas por segundo que un teléfono, sin importar cuán simple crea que es su aplicación.
En este caso específico, aunque asigne un velocity
Una Unity de velocidad son Unityes por segundo
así que ya Está un valor fijo independiente de la velocidad de fotogramas. El propio motor de física ya se encarga de mover la cantidad correcta por actualización de física y tú lo haces. no quiero multiplicar por Time.deltaTime
en ese caso.
Quieres hacer
void movement()
rb.velocity = new Vector2(rb.velocity.x, speed);
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
eso es todo,espero que te funcione