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.

ecs.physics.applyForce(world, eid, forceX, forceY, forceZ) // -> void

applyImpulse

Diese Funktion wird verwendet, um eine einmalige Impulskraft auf einen Physikkollider anzuwenden, die seine Geschwindigkeit basierend auf dem gegebenen 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.

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

getAngularVelocity

Ermittelt die Winkelgeschwindigkeit eines Objekts.

ecs.physics.getAngularVelocity(world, eid) // -> {x: number, y: number, z: number}

setAngularVelocity

Legt die Winkelgeschwindigkeit eines Objekts fest.

ecs.physics.setAngularVelocity(world, eid) // -> {x: number, y: number, z: number}

getLinearVelocity

Ermittelt die lineare Geschwindigkeit eines Objekts.

ecs.physics.getLinearVelocity(world, eid) // -> {x: number, y: number, z: number}

setLinearVelocity

Legt die lineare Geschwindigkeit eines Objekts fest.

ecs.physics.setLinearVelocity(world, eid, velocityX, velocityY, velocityZ) // -> void

getWorldGravity

Holen Sie sich die Schwerkraft der Welt.

ecs.physics.getWorldGravity(world, gravity) // -> Zahl

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