Un poco relacionado con esta pregunta .
La idea es garantizar el mismo comportamiento físico tanto como sea posible. ¿Sería posible ejecutar física de pasos de tiempo fijo en un trabajador web? La interfaz de usuario se actualizaría con una frecuencia de actualización diferente / variable.
¿Alguien ha intentado ya?
physics
javascript
html5
Petteri Hietavirta
fuente
fuente
Respuestas:
Encontré este experimento . Ejecuta la física de Box2d en un trabajador web. Todavía no he comprobado en detalle cómo se soluciona los problemas mencionados en los comentarios de Vincent Scheib.
fuente
Esto podría funcionar, sin embargo, si
WebWorker
sigue el patrón del observador , ladocument
(página html que posee el trabajador) solo puede escuchar y publicar mensajes a / desde un trabajador. A partir de eso, hay algunas opciones, supongo. En todos los casos, creo que necesitará encontrar alguna manera de determinar el FPS óptimo del agente de usuario para optimizar la información. Entonces podrías:document
estará listo para la respuesta cuando ocurra.document
que envíe un mensaje al trabajador solicitando física en un intervalo de tiempox
, luego el trabajador publicará una respuesta (con suerte) poco después.onmessage
evento para evitar quedocument
escuche cuando no lo espera.Estoy seguro de que hay otras cosas que me perdí o formas de manejar las comunicaciones también. ¡Esperaré otras respuestas sobre el tema yo mismo!
fuente
document
listo para encontrar un fps razonable o ir con la opción 2 donde el trabajador no hace nada hasta que lodocument
pide.Physijs utiliza un trabajador web. Pega la física de munición con los objetos Three.js y los actualiza según sea necesario. Cuenta con pasos de tiempo fijos y fluidos, creo
fuente