Ein bisschen im Zusammenhang mit dieser Frage .
Die Idee ist, das gleiche physikalische Verhalten so weit wie möglich zu gewährleisten. Wäre es möglich, eine zeitlich festgelegte Schrittphysik auf einem Web-Worker auszuführen? Die Benutzeroberfläche würde sich mit einer anderen / variablen Aktualisierungsrate aktualisieren.
Hat das schon jemand ausprobiert?
physics
javascript
html5
Petteri Hietavirta
quelle
quelle
Antworten:
Ich habe dieses Experiment gefunden . Es führt Box2d-Physik auf einem Web-Worker aus. Ich habe noch nicht im Detail geprüft, wie es um Probleme geht, die in Vincent Scheibs Kommentaren erwähnt wurden.
quelle
Dies könnte funktionieren, aber
WebWorker
s folgen dem Beobachter-Muster , diedocument
(HTML-Seite, die dem Arbeiter gehört) kann nur Nachrichten an / von einem Arbeiter abhören und posten. Davon gibt es ein paar Möglichkeiten, denke ich. In allen Fällen, denke ich, müssen Sie einen Weg finden, um die optimale FPS des Benutzeragenten zu bestimmen, um die Informationen zu optimieren. Dann könnten Sie entweder:document
für die Reaktion bereit ist, wenn dies geschieht.document
Mitarbeiter, in bestimmten Zeitabständen eine Nachricht an den Mitarbeiter zu senden, in der er um Physik gebeten wird.x
Kurz danach würde der Mitarbeiter (hoffentlich) eine Antwort veröffentlichen.onmessage
Ereignis auf null setzen, um zu verhindern, dass Siedocument
abhören, wenn dies nicht erwartet wird.Ich bin mir sicher, dass es noch andere Dinge gibt, die ich verpasst habe, oder Möglichkeiten, mit der Kommunikation umzugehen. Ich freue mich auf weitere Antworten zu diesem Thema!
quelle
document
immer bereit sein müssen, indem Sie ein angemessenes fps finden, oder gehen Sie zu Option 2, wo der Arbeiter nichts tut, bis er danachdocument
fragt.Physijs verwendet einen Web-Worker. Es verbindet die Physik von Ammojs mit den Objekten von Three.js und aktualisiert sie nach Bedarf. Ich glaube, es gibt sowohl feste als auch flüssige Zeitschritte
quelle