PhysicsNode QML Type
Type de base pour tous les objets de la scène physique. En savoir plus…
| Import Statement: | import QtQuick3D.Physics |
| Since: | Qt 6.4 |
| Inherits: | |
| Inherited By: | CharacterController, DynamicRigidBody, PhysicsBody, StaticRigidBody, and TriggerBody |
Propriétés
- collisionShapes : list<CollisionShape>
- filterGroup : int
- filterIgnoreGroups : int
- receiveContactReports : bool
- receiveTriggerReports : bool
- sendContactReports : bool
- sendTriggerReports : bool
Signaux
- bodyContact(PhysicsNode *body, list<vector3D> positions, list<vector3D> impulses, list<vector3D> normals)
- enteredTriggerBody(TriggerBody *body)
- exitedTriggerBody(TriggerBody *body)
Description détaillée
PhysicsNode est le type de base de tous les objets participant à la simulation physique. Ces objets ont une position dans l'espace tridimensionnel et une forme géométrique.
Documentation des propriétés
collisionShapes : list<CollisionShape>
Cette propriété contient la liste des formes de collision. Ces formes seront combinées et agiront comme un seul corps rigide lors de leurs interactions avec d’autres corps.
Voir également «Formes, corps et articulations» (Qt Quick 3D Physics ).
filterGroup : int
Cette propriété permet de déterminer à quel groupe de filtres appartient ce corps.
La valeur par défaut est « 0 ».
Plage : [0, 31]
Voir également PhysicsNode::filterIgnoreGroups.
filterIgnoreGroups : int
Cette propriété détermine les groupes avec lesquels cet objet doit filtrer les collisions.
Remarque : ce nombre est interprété comme un masque de bits, ce qui signifie que si le bit i est activé, les collisions avec le numéro de groupe filterGroup i seront filtrées. Par exemple, pour filtrer les groupes 1, 3 et 4, définissez la valeur sur 0b11010.
Voir également PhysicsNode::filterGroup.
receiveContactReports : bool
Cette propriété détermine si ce corps recevra des rapports de contact en cas de collision avec d’autres corps. Si elle est activée, cela signifie que le signal « bodyContact » sera émis en cas de collision avec un corps dont la propriété « sendContactReports » est définie sur « true ».
Valeur par défaut : false
receiveTriggerReports : bool
Cette propriété détermine si ce bloc recevra des rapports lors de l'entrée ou de la sortie d'un bloc de déclenchement.
Valeur par défaut : false
sendContactReports : bool
Cette propriété détermine si ce corps enverra des rapports de contact en cas de collision avec d’autres corps.
Valeur par défaut : false
sendTriggerReports : bool
Cette propriété détermine si ce bloc enverra des rapports lors de l'entrée ou de la sortie d'un bloc de déclenchement.
Valeur par défaut : false
Documentation sur les signaux
bodyContact(PhysicsNode *body, list<vector3D> positions, list<vector3D> impulses, list<vector3D> normals)
Ce signal est émis lorsqu'il y a collision entre un corps dynamique et un autre corps. Les paramètres « receiveContactReports » de ce corps et « sendContactReports » du corps en collision doivent être définis sur « true ». Les paramètres « body », « positions », « impulses » et « normals » contiennent, pour chaque point de contact portant le même index, les coordonnées de l'autre corps, sa position, la force d'impulsion et la normale.
Remarque : le gestionnaire correspondant est onBodyContact.
Voir également CharacterController::shapeHit, PhysicsWorld::reportKinematicKinematicCollisions et PhysicsWorld::reportStaticKinematicCollisions.
enteredTriggerBody(TriggerBody *body)
Ce signal est émis lorsque cet élément entre dans l'body de déclenchement spécifiée.
Remarque : Émisuniquement lorsque receiveTriggerReports est true
Remarque : le gestionnaire correspondant est onEnteredTriggerBody.
Voir également receiveTriggerReports et exitedTriggerBody.
exitedTriggerBody(TriggerBody *body)
Ce signal est émis lorsque cet objet sort de l'body de déclenchement spécifiée.
Remarque : Émisuniquement lorsque receiveTriggerReports est true
Remarque : le gestionnaire correspondant est onExitedTriggerBody.
Voir également receiveTriggerReports et enteredTriggerBody.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.