Qt Quick 3D Änderungen an der Physik-API gegenüber der Tech Preview
Ab der Version Qt 6.5.0 befindet sich das Physikmodul „ Qt Quick 3D “ nicht mehr in der Tech Preview. Als Ergebnis des Feedback- und Überprüfungsprozesses zur API wurden einige Änderungen vorgenommen, die zu Inkompatibilitäten auf Quellcodeebene führen.
Der Großteil der Änderungen betrifft die Umbenennung von Typen und Eigenschaften, um die Konsistenz mit anderen APIs zu gewährleisten und die Namen aussagekräftiger zu gestalten. Die auffälligste Umbenennung ist die Änderung von „ DynamicsWorld “ in „ PhysicsWorld “, was sich auf alle Anwendungen auswirken wird.
Die wichtigste Verhaltensänderung betrifft die Handhabung von „ kinematic bodies “. Die Änderung der Position/Orientierung eines kinematischen Körpers erfolgt nicht mehr über die „ Node “-Eigenschaften (position, rotation usw.), sondern über die neuen Eigenschaften: kinematicPosition, kinematicEulerRotation, kinematicRotation und kinematicPivot. Der Grund für diese Änderung war, sicherzustellen, dass die visuelle Bewegung kinematischer Körper mit dem Rest der Simulation synchronisiert ist und nicht einen Simulationsschritt zu früh erfolgt.
Die Eigenschaft „ DynamicRigidBody.density “ behandelt negative Werte (und Null) nicht mehr als Sonderfall. Stattdessen gibt es zwei neue Aufzählungswerte „ massMode “, die „ Density “ ersetzen:
DefaultDensity | Die Dichte des Körpers wird durch „ PhysicsWorld.defaultDensity “ definiert. Dies ist die Standardeinstellung. |
CustomDensity | Die Dichte des Körpers wird durch die Eigenschaft „ density “ definiert. |
Die Eigenschaft „ enableTriggerReports “ wurde in „ sendTriggerReports “ umbenannt. Zudem können Physikobjekte nun benachrichtigt werden, wenn sie einen Triggerkörper betreten, indem „ receiveTriggerReports “ gesetzt wird.
Im Folgenden finden Sie eine vollständige Liste aller API-Änderungen:
- CollisionShape:
- „enableDebugView“ wurde umbenannt in enableDebugDraw
- Der abstrakte Basistyp „
CollisionNode“ wurde umbenannt in PhysicsNode- „enableTriggerReports“ wurde in „ sendTriggerReports “ geändert und receiveTriggerReports
- CharacterController
- „
speed“ wurde umbenannt in movement
- „
- ConvexMeshShape
- „
meshSource“ wurde umbenannt in source
- „
- HeightFieldShape
heightMapwurde umbenannt in source
- TriangleMeshShape
meshSourcewurde umbenannt in source
- PhysicsWorld (umbenannt von „
DynamicsWorld“)forceDebugViewwurde umbenannt in forceDebugDrawminTimestep/maxTimestepin minimumTimestep umbenannt /maximumTimestep- „sceneNode“ entfernt
- hinzugefügt scene
- hinzugefügt viewport
- DynamicRigidBody
- Die Eigenschaften von „
axisLockLinearX/Y/Z“ wurden in eine einzige Eigenschaft „ linearAxisLock “ umgewandelt, die ein Bitfeld akzeptiert - Die Eigenschaften „
axisLockAngularX/Y/Z“ wurden in eine einzige Eigenschaft „ angularAxisLock “ umgewandelt, die ein Bitfeld akzeptiert - Neue Eigenschaften „ kinematicPosition “, „ kinematicEulerRotation “, „ kinematicRotation “ und kinematicPivot
- den Enum-Wert „
Density“ in „ DefaultDensity/CustomDensity “ geändert und die Sonderbehandlung negativer Werte entfernt. - Die Eigenschaft „
linearVelocity“ wurde durch die Methode „ setLinearVelocity “ ersetzt. - Die Eigenschaft „
angularVelocity“ wurde durch die Methode „ setAngularVelocity “ ersetzt.
- Die Eigenschaften von „
© 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.