En este momento estás viendo ¿Qué importancia tiene time.deltatime en el movimiento 2D?

 – Unity

¿Qué importancia tiene time.deltatime en el movimiento 2D? – Unity

¿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

Deja una respuesta