Qt Quick 3D Physics API-Änderungen aus der Tech Preview
Ab der Version Qt 6.5.0 befindet sich das Modul Qt Quick 3D Physics nicht mehr in der Tech Preview. Als Ergebnis des API-Feedbacks und des Überprüfungsprozesses wurden einige quelltextinkompatible Änderungen vorgenommen.
Der Großteil der Änderungen besteht in der Umbenennung von Typen und Eigenschaften, um die Konsistenz mit anderen APIs zu gewährleisten und die Namen anschaulicher zu gestalten. Die auffälligste Umbenennung ist die Änderung von DynamicsWorld
in PhysicsWorld, die sich auf alle Anwendungen auswirken wird.
Die wichtigste Änderung im Verhalten ist die Handhabung von kinematic bodies. Die Änderung der Position/Ausrichtung eines kinematischen Körpers erfolgt nicht mehr über die Eigenschaften Node (position
, rotation
, usw.), sondern über die neuen Eigenschaften: kinematicPosition, kinematicEulerRotation, kinematicRotation, und kinematicPivot. Diese Änderung wurde vorgenommen, um sicherzustellen, dass die visuelle Bewegung kinematischer Körper mit dem Rest der Simulation synchronisiert wird 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 massMode Aufzählungswerte, die Density
ersetzen:
DefaultDensity | Die Dichte des Körpers wird durch PhysicsWorld.defaultDensity definiert. Dies ist der Standardwert. |
CustomDensity | Die Dichte des Körpers wird durch die Eigenschaft density definiert. |
Die Eigenschaft enableTriggerReports
wurde in sendTriggerReports umbenannt. Darüber hinaus können Physikobjekte jetzt benachrichtigt werden, wenn sie einen Triggerkörper betreten, indem receiveTriggerReports gesetzt wird.
Im Folgenden finden Sie eine vollständige Liste aller API-Änderungen:
- CollisionShape:
- Umbenennung von enableDebugView in enableDebugDraw
- Umbenennung des abstrakten Basistyps
CollisionNode
in PhysicsNode- geändert in enableTriggerReports zu sendTriggerReports und receiveTriggerReports
- CharacterController
- umbenannt in
speed
in movement
- umbenannt in
- ConvexMeshShape
- umbenannt in
meshSource
in source
- umbenannt in
- HeightFieldShape
- umbenannt in
heightMap
in source
- umbenannt in
- TriangleMeshShape
- umbenannt in
meshSource
in source
- umbenannt in
- PhysicsWorld (umbenannt von
DynamicsWorld
)- umbenannt in
forceDebugView
in forceDebugDraw - umbenannt in
minTimestep
/maxTimestep
in minimumTimestep/maximumTimestep - sceneNode entfernt
- hinzugefügt scene
- hinzugefügt viewport
- umbenannt in
- DynamicRigidBody
- die Eigenschaften
axisLockLinearX/Y/Z
in eine einzige Eigenschaft linearAxisLock geändert, die ein Bitfeld enthält - die Eigenschaften
axisLockAngularX/Y/Z
in eine einzige Eigenschaft angularAxisLock geändert, die ein Bitfeld enthält - neue Eigenschaften kinematicPosition, kinematicEulerRotation, kinematicRotation, und kinematicPivot
- Der Enum-Wert
Density
wurde in DefaultDensity/CustomDensity geändert und die Groß-/Kleinschreibung von negativen Werten wurde entfernt. - die Eigenschaft
linearVelocity
durch die Methode setLinearVelocity ersetzt. - die Eigenschaft
angularVelocity
durch die Methode setAngularVelocity ersetzt.
- die Eigenschaften
© 2025 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.