Passer au contenu principal

physique

Description

Cette bibliothèque propose des méthodes pour appliquer la physique et paramétrer les collisionneurs sur les entités.

Fonctions

applyForce

Vous pouvez appliquer directement des forces (linéaires et angulaires) à n'importe quelle entité dotée d'un collisionneur physique. Ces forces sont appliquées lors de la prochaine mise à jour de la simulation physique, qui a lieu à intervalles réguliers. La fonction accepte un vecteur 3D pour définir la direction et l'ampleur de la force.

avertissement

Cela dépend de la fréquence des appels à requestAnimationFrame() ou du taux de rafraîchissement de votre appareil.

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

appliquerImpulsion

Cette fonction est utilisée pour appliquer une force instantanée unique à un collisionneur physique, modifiant sa vitesse en fonction du vecteur d'impulsion donné. Cette méthode est utile pour les événements qui nécessitent une réaction rapide et unique, comme un saut, un coup de poing ou une poussée soudaine.

ecs.physics.applyImpulse(world, eid, impulseX, impulseY, impulseZ) // -> void

applyTorque

Vous pouvez appliquer directement des forces (linéaires et angulaires) à n'importe quelle entité dotée d'un collisionneur physique. Ces forces sont appliquées lors de la prochaine mise à jour de la simulation physique, qui a lieu à intervalles réguliers. La fonction accepte un vecteur 3D pour définir la direction et l'ampleur de la force.

avertissement

Cela dépend de la fréquence des appels à requestAnimationFrame() ou du taux de rafraîchissement de votre appareil.

ecs.physics.applyTorque(world, eid, torqueX, torqueY, torqueZ) // -> void

getWorldGravity

Il s'agit d'une simple fonction getter qui renvoie la force de gravité actuelle appliquée à chaque objet de la scène. La valeur de retour peut varier en fonction de l'heure à laquelle la fonction a été exécutée.

ecs.physics.getWorldGravity(world) // -> nombre

registerConvexShape

Enregistrer une forme convexe.

ecs.physics.registerConvexShape(world, vertices) // -> eid de la forme enregistrée

getLinearVelocity

Obtenir la vitesse linéaire d'une entité.

ecs.physics.getLinearVelocity(world, eid) // -> nombre

setLinearVelocity

Définit la vitesse linéaire d'une entité.

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

setWorldGravity

Définir la gravité du monde.

ecs.physics.setWorldGravity(world, gravity) // -> void

désenregistrer la forme convexe

Annuler l'enregistrement d'une forme convexe.

ecs.physics.unregisterConvexShape(world, id) // -> void

Evénements

ÉVÉNEMENT_DÉBUT_COLLISION

Emis lorsque la collision a commencé avec une entité.

ecs.physics.COLLISION_START_EVENT.data : { other }

Propriétés

PropriétéTypeDescription
autreseidL'eid de l'entité entrée en collision

ÉVÉNEMENT DE FIN DE COLLISION

Emis lorsque la collision avec une entité s'est arrêtée.

ecs.physics.COLLISION_END_EVENT.data : { other }

Propriétés

PropriétéTypeDescription
autreseidL'eid de l'entité entrée en collision