Sur cette page

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:

Node

Inherited By:

CharacterController, DynamicRigidBody, PhysicsBody, StaticRigidBody, and TriggerBody

Propriétés

Signaux

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.