es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La física se actualiza de manera diferente según los fps.

Antes de agregar la variable “detune”, la actualización de la física en una computadora y en un teléfono inteligente era notablemente diferente.
Después de agregar y multiplicar algunas variables, resultó en suavizar la diferencia, pero no en hacerla completamente igual.
En este sentido, pido ayuda porque no puedo descifrar qué hacer por mí mismo.

public void update(float dt, Camera cam){
    float detune=dt/0.01666f;
    if(!ignoreGraviry)
        attraction.add(getGravity().cpy().scl(detune));
    float lx=1-.09f*detune;
    float ly=1-.015f*detune;
    attraction.scl(lx,ly);
    Vector v=getMotion().scl(lx,ly).cpy();
    lastPos=getPosition().cpy();
    getPosition().add(
        v.rotate(cam.getRotation()).add(
            attraction.cpy().rotate(cam.getRotation())
        ).scl(dt));
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La función update utiliza la variable detune para modificar el comportamiento de la actualización de la física en las plataformas de computadoras y smartphones. La variable detune se calcula dividiendo dt (tiempo delta) por un valor constante de 0.01666f. Esto probablemente tiene como objetivo normalizar la actualización de la física en diferentes plataformas ajustando la cantidad de tiempo transcurrido entre las actualizaciones.

    Luego, la función aplica el valor de detune para modificar los vectores de gravedad y atracción, escalándolos y agregándolos al movimiento y la posición general. Las variables lx y ly también se modifican mediante el valor de detune, restando una fracción del mismo al valor inicial de 1.

    En general, parece que la variable detune se utiliza para normalizar la actualización de la física en diferentes plataformas mediante una combinación de operaciones de escalado, resta y multiplicación. Sin embargo, no está claro en el código si esto es suficiente para eliminar por completo las diferencias entre las plataformas de computadoras y smartphones. El autor parece estar solicitando ayuda para perfeccionar aún más este enfoque.

Comments are closed.