Qt Quick 3D Physics Modifications de l'API par rapport à la version Tech Preview
À partir de la version Qt 6.5.0, le module Qt Quick 3D Physics n'est plus en préversion technique. À la suite du processus de retour d'expérience et de révision de l'API, certaines modifications incompatibles au niveau du code source ont été apportées.
La plupart de ces modifications consistent en un changement de nom des types et des propriétés, afin d’assurer la cohérence avec d’autres API et de rendre les noms plus descriptifs. Le changement de nom le plus notable est le remplacement de ` DynamicsWorld ` par ` PhysicsWorld`, ce qui aura un impact sur toutes les applications.
Le changement de comportement le plus important concerne la gestion de kinematic bodies. La modification de la position et de l’orientation d’un corps cinématique ne s’effectue plus à l’aide des propriétés Node (position, rotation, etc.), mais à l’aide des nouvelles propriétés : kinematicPosition, kinematicEulerRotation, kinematicRotation et kinematicPivot. Ce changement a été apporté afin de garantir que le mouvement visuel des corps cinématiques soit synchronisé avec le reste de la simulation, au lieu de se produire une étape de simulation trop tôt.
La propriété ` DynamicRigidBody.density ` ne traite plus les valeurs négatives (ni zéro) comme un cas particulier. À la place, deux nouvelles valeurs d’énumération ` massMode ` remplacent ` Density` :
DefaultDensity | La densité du corps est définie par ` PhysicsWorld.defaultDensity`. Il s’agit de la valeur par défaut. |
CustomDensity | La densité du corps est définie par la propriété density. |
La propriété enableTriggerReports a été renommée sendTriggerReports. De plus, les objets physiques peuvent désormais être notifiés lorsqu’ils pénètrent dans un corps déclencheur en définissant receiveTriggerReports.
Voici la liste complète de toutes les modifications apportées à l’API :
- CollisionShape:
- renommage de `enableDebugView` en enableDebugDraw
- Le type de base abstrait «
CollisionNode» a été renommé PhysicsNode- « enableTriggerReports » a été remplacé par « sendTriggerReports » et receiveTriggerReports
- CharacterController
speeda été renommé en movement
- ConvexMeshShape
meshSourcea été renommé source
- HeightFieldShape
heightMapa été renommé en source
- TriangleMeshShape
meshSourcea été renommé en source
- PhysicsWorld (anciennement
DynamicsWorld)forceDebugViewa été renommé en forceDebugDrawminTimestep/maxTimestepa été renommé en minimumTimestep/maximumTimestep- suppression de sceneNode
- Ajouté scene
- Ajouté viewport
- DynamicRigidBody
- conversion des propriétés «
axisLockLinearX/Y/Z» en une seule propriété « linearAxisLock » prenant un champ de bits - les propriétés «
axisLockAngularX/Y/Z» ont été regroupées en une seule propriété « angularAxisLock » qui prend un champ binaire - ajout de nouvelles propriétés : kinematicPosition, kinematicEulerRotation, kinematicRotation, et kinematicPivot
- modifié la valeur de l'énumération `
Density` en ` DefaultDensity/CustomDensity ` et supprimé le traitement particulier des valeurs négatives. - La propriété «
linearVelocity» a été remplacée par la méthode « setLinearVelocity ». - La propriété «
angularVelocity» a été remplacée par la méthode « setAngularVelocity ».
- conversion des propriétés «
© 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.