Zum Hauptinhalt springen

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.

Warnung

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.

Warnung

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​

EigenschaftTypBeschreibung
andereeidDer 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​

EigenschaftTypBeschreibung
andereeidDer eid der kollidierten Entität