Physik
Beschreibung​
Diese Bibliothek enthält Methoden zum Anwenden von Physik und zum Einstellen von Kollidern auf Entitäten.
Funktionen​
applyForce​
Sie können direkt Kräfte (linear und winklig) auf jedes Objekt mit einem Physik-Kollider anwenden. Diese Kräfte werden bei der nächsten Aktualisierung der Physiksimulation angewendet, die in regelmäßigen Abständen stattfindet. Die Funktion akzeptiert einen 3D-Vektor, um die Richtung und den Betrag der Kraft zu definieren.
Dies ist abhängig von der Häufigkeit der Aufrufe von requestAnimationFrame() oder der Aktualisierungsrate Ihres Geräts.
ecs.physics.applyForce(world, eid, forceX, forceY, forceZ) // -> void
applyImpulse​
Diese Funktion wird verwendet, um eine einmalige, momentane Kraft auf einen Physik-Collider anzuwenden, die seine Geschwindigkeit basierend auf dem angegebenen Impulsvektor verändert. Diese Methode eignet sich für Ereignisse, die eine schnelle, einmalige Reaktion erfordern, wie z. B. Springen, Schlagen oder ein plötzlicher Stoß.
ecs.physics.applyImpulse(world, eid, impulseX, impulseY, impulseZ) // -> void
applyTorque​
Sie können direkt Kräfte (linear und winklig) auf jedes Objekt mit einem Physik-Kollider anwenden. Diese Kräfte werden bei der nächsten Aktualisierung der Physiksimulation angewendet, die in regelmäßigen Abständen stattfindet. Die Funktion akzeptiert einen 3D-Vektor, um die Richtung und den Betrag der Kraft zu definieren.
Dies ist abhängig von der Häufigkeit der Aufrufe von requestAnimationFrame() oder der Aktualisierungsrate Ihres Geräts.
ecs.physics.applyTorque(world, eid, torqueX, torqueY, torqueZ) // -> void
getWorldGravity​
Dies ist eine einfache Getter-Funktion, die die aktuelle Schwerkraft zurückgibt, die auf jedes Objekt in der Szene wirkt. Der Rückgabewert kann sich je nach dem Zeitpunkt der Ausführung der Funktion ändern.
ecs.physics.getWorldGravity(world) // -> Zahl
registerConvexShape​
Registrieren Sie eine konvexe Form.
ecs.physics.registerConvexShape(world, vertices) // -> eid der registrierten Form
getLinearVelocity​
Ermittelt die lineare Geschwindigkeit eines Objekts.
ecs.physics.getLinearVelocity(world, eid) // -> Zahl
setLinearVelocity​
Legt die lineare Geschwindigkeit eines Objekts fest.
ecs.physics.setLinearVelocity(world, eid, velocityX, velocityY, velocityZ) // -> void
setWorldGravity​
Stellen Sie die Schwerkraft der Welt ein.
ecs.physics.setWorldGravity(world, gravity) // -> void
unregisterConvexShape​
Aufheben der Registrierung einer konvexen Form.
ecs.physics.unregisterConvexShape(world, id) // -> void
Ereignisse​
KOLLISION_START_EREIGNIS​
Wird ausgesendet, wenn eine Kollision mit einer Entität begonnen hat.
ecs.physics.COLLISION_START_EVENT.data : { other }
Eigenschaften​
Eigenschaft | Typ | Beschreibung |
---|---|---|
andere | eid | Der eid der kollidierten Entität |
KOLLISION_ENDE_EREIGNIS​
Wird ausgesendet, wenn die Kollision mit einer Entität beendet ist.
ecs.physics.COLLISION_END_EVENT.data : { other }
Eigenschaften​
Eigenschaft | Typ | Beschreibung |
---|---|---|
andere | eid | Der eid der kollidierten Entität |