PhysicsWorld QML Type
Contrôle la simulation physique. Plus d'informations...
| Import Statement: | import QtQuick3D.Physics |
| Since: | Qt 6.4 |
Propriétés
- defaultDensity : real
- enableCCD : bool
- forceDebugDraw : bool
- gravity : vector3d
- maximumTimestep : real
- minimumTimestep : real
- numThreads : int
(since 6.7) - reportKinematicKinematicCollisions : bool
(since 6.7) - reportStaticKinematicCollisions : bool
(since 6.7) - running : bool
- scene : Node
- typicalLength : real
- typicalSpeed : real
- viewport : Node
Signaux
- frameDone(float timestep)
(since 6.5)
Description détaillée
Le type PhysicsWorld contrôle la simulation physique. Ce nœud est utilisé pour créer une instance du monde physique et définir ses propriétés. Il ne peut y avoir qu'un seul monde physique. Tous les nœuds de collision dans le qml seront automatiquement ajoutés au monde physique.
Documentation sur les propriétés
defaultDensity : real
Cette propriété définit la densité par défaut des objets dynamiques, mesurée en kilogrammes par unité cubique. Elle est égale au poids d'un cube de côté 1.
La valeur par défaut est 0.001, ce qui correspond à 1 g/cm³ : la densité de l'eau. Si votre unité de mesure est le mètre, une bonne valeur serait 1000. Notez que seules les valeurs positives sont autorisées.
Plage de valeurs : (0, inf]
enableCCD : bool
Cette propriété permet une détection continue des collisions. Cela permet de réduire le risque que des corps traversent d'autres corps à grande vitesse (également connu sous le nom de "tunnel"). La valeur par défaut est false.
Attention : L'utilisation de corps de déclenchement avec la CCD activée n'est pas prise en charge et peut entraîner des rapports de déclenchement manquants ou erronés.
forceDebugDraw : bool
Cette propriété active le dessin de débogage de toutes les formes actives dans le monde physique. La valeur par défaut est false.
gravity : vector3d
Cette propriété définit le vecteur de gravité du monde physique. La valeur par défaut est (0, -981, 0). Définissez la valeur à Qt.vector3d(0, -9.81, 0) si votre unité de mesure est le mètre et que vous simulez la gravité terrestre.
maximumTimestep : real
Cette propriété définit le pas de temps maximum de la simulation en millisecondes. La valeur par défaut est 33.333.
Plage de valeurs : [0, inf]
Remarque : le pas de temps de la simulation est synchronisé avec le rendu, ce qui signifie qu'une nouvelle image de simulation ne sera lancée qu'après la fin d'une image rendue. Cela signifie qu'au maximum une image de simulation sera exécutée par image de rendu.
minimumTimestep : real
Cette propriété définit le pas de temps minimum de la simulation en millisecondes. La valeur par défaut est 1.
Plage de valeurs : [0, maximumTimestep]
Remarque : le pas de temps de la simulation est synchronisé avec le rendu, ce qui signifie qu'une nouvelle image de simulation ne sera lancée qu'après la fin d'une image rendue. Cela signifie qu'au maximum une image de simulation sera exécutée par image de rendu.
numThreads : int [since 6.7]
Cette propriété définit le nombre de threads utilisés pour la simulation physique. C'est ainsi que la plage de valeurs est interprétée :
| Valeur | Fourchette | Description |
|---|---|---|
| Négatif | [-inf, -1] | Comptage automatique des threads. L'application essaiera de demander le nombre de threads au système. |
| Zéro | {0} | Pas de threading, la simulation se déroule de manière séquentielle. |
| Positif | [1, inf] | Nombre de fils spécifique. |
La valeur par défaut est -1, ce qui signifie que le nombre de fils est automatique.
Remarque : une fois que la scène a commencé à s'exécuter, il n'est pas possible de modifier le nombre de threads.
Cette propriété a été introduite dans Qt 6.7.
reportKinematicKinematicCollisions : bool [since 6.7]
Cette propriété détermine si les collisions entre des paires de corps rigides dynamiques cinématiques déclencheront un rapport de contact.
La valeur par défaut est false.
Remarque : une fois que la scène a commencé à fonctionner, il n'est pas possible de modifier ce paramètre.
Cette propriété a été introduite dans Qt 6.7.
Voir également PhysicsWorld::reportStaticKinematicCollisions, DynamicRigidBody, et PhysicsNode::bodyContact.
reportStaticKinematicCollisions : bool [since 6.7]
Cette propriété détermine si les collisions entre un corps rigide statique et un corps rigide dynamique cinématique déclencheront un rapport de contact.
La valeur par défaut est false.
Remarque : une fois que la scène a commencé à fonctionner, il n'est pas possible de modifier ce paramètre.
Cette propriété a été introduite dans Qt 6.7.
Voir également PhysicsWorld::reportKinematicKinematicCollisions, StaticRigidBody, DynamicRigidBody, et PhysicsNode::bodyContact.
running : bool
Cette propriété permet de démarrer ou d'arrêter la simulation physique. La valeur par défaut est true.
scene : Node
Cette propriété définit le nœud le plus élevé qui contient tous les nœuds de la simulation physique. Tous les objets physiques qui sont des ancêtres de ce nœud seront considérés comme faisant partie de ce nœud PhysicsWorld.
Remarque : l'utilisation du même nœud de scène pour plusieurs sites PhysicsWorld n'est pas prise en charge.
typicalLength : real
Cette propriété définit la taille approximative des objets dans la simulation. Elle est utilisée pour estimer certaines tolérances liées à la longueur. Les objets beaucoup plus petits ou beaucoup plus grands que cette taille peuvent ne pas se comporter correctement. La valeur par défaut est 100.
Plage de valeurs : [0, inf]
typicalSpeed : real
Cette propriété définit l'ampleur typique des vitesses des objets dans la simulation. Elle est utilisée pour estimer si un contact doit être traité comme un rebond ou un repos en fonction de sa vitesse d'impact et d'un seuil d'énergie cinétique en dessous duquel la simulation peut mettre les objets en sommeil.
Pour les environnements physiques normaux, un bon choix est la vitesse approximative d'un objet tombant sous l'effet de la gravité pendant une seconde. La valeur par défaut est 1000.
Plage de valeurs : [0, inf]
viewport : Node
Cette propriété définit la fenêtre dans laquelle les composants de débogage seront dessinés si forceDebugDraw est activé. Si elle n'est pas définie, le nœud scene sera utilisé.
Voir également forceDebugDraw et scene.
Documentation sur les signaux
[since 6.5] frameDone(float timestep)
Ce signal est émis lorsque la simulation physique a fini de simuler une image. Le paramètre timestep indique la durée en millisecondes du pas de temps dans la simulation.
Remarque : le gestionnaire correspondant est onFrameDone.
Ce signal a été introduit dans Qt 6.5.
© 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.