Qt Quick 3D-Physik-API-Änderungen aus der Tech Preview
Mit der Veröffentlichung von 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 quellkompatible Ä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
CollisionNodein PhysicsNode- geändert in enableTriggerReports zu sendTriggerReports und receiveTriggerReports
- CharacterController
- umbenannt in
speedin movement
- umbenannt in
- ConvexMeshShape
- umbenannt in
meshSourcein source
- umbenannt in
- HeightFieldShape
- umbenannt in
heightMapin source
- umbenannt in
- TriangleMeshShape
- umbenannt in
meshSourcein source
- umbenannt in
- PhysicsWorld (umbenannt von
DynamicsWorld)- umbenannt in
forceDebugViewin forceDebugDraw - umbenannt in
minTimestep/maxTimestepin minimumTimestep/maximumTimestep - sceneNode entfernt
- hinzugefügt scene
- hinzugefügt viewport
- umbenannt in
- DynamicRigidBody
- die Eigenschaften
axisLockLinearX/Y/Zin eine einzige Eigenschaft linearAxisLock geändert, die ein Bitfeld enthält - die Eigenschaften
axisLockAngularX/Y/Zin eine einzige Eigenschaft angularAxisLock geändert, die ein Bitfeld enthält - neue Eigenschaften kinematicPosition, kinematicEulerRotation, kinematicRotation, und kinematicPivot
- Der Enum-Wert
Densitywurde in DefaultDensity/CustomDensity geändert und die Groß-/Kleinschreibung von negativen Werten wurde entfernt. - die Eigenschaft
linearVelocitydurch die Methode setLinearVelocity ersetzt. - die Eigenschaft
angularVelocitydurch 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.