Estoy tratando de crear un juego simple en 2D donde una pelota cae al suelo, influenciada por algunos obstáculos que cambiarán la posición final de la pelota.
Estoy usando MatterJS como un motor de física 2D, pero en realidad es impredecible, con los mismos parámetros, mi bola siempre está en una posición final diferente.
¿Hay alguna manera de precalcular la ruta que tendrá la pelota (al instante), guardarla en una variable y cargarla para obtener exactamente la misma ruta siempre que la necesite? ¿O hay alguna manera de predecir con precisión la posición final?
Encontré una manera de precalcular instantáneamente la trayectoria de la pelota llamando manualmente a Matter.Engine.update(engine) y almacenando la posición de mi pelota para cada fotograma.
Luego restablecí la posición de mi bola, configuré ball.isStatic = true; y muévalo manualmente en cada cuadro:
Matter.Events.on(engine, "afterUpdate", () => { if (positions.length > 0) { Matter.Body.setPosition(ball, positions.shift()); } });