Starting with the Qt 6.5.0 release, the Qt Quick 3D Physics module is no longer in Tech Preview. As a result of the API feedback and review process, some source-incompatible changes were made.
The majority of the changes are renaming types and properties for consistency with other APIs and to make the names more descriptive. The most noticeable rename is changing
DynamicsWorld
to
PhysicsWorld
, which will affect all applications.
The most important behavioral change is the handling of
kinematic bodies
. Changing the position/orientation of a kinematic body is no longer done by using the
Node
properties (
位置
,
rotation
, etc.), but instead by using the new properties:
kinematicPosition
,
kinematicEulerRotation
,
kinematicRotation
,和
kinematicPivot
. The reason for this change was to make sure that the visual movement of kinematic bodies is synchronized with the rest of the simulation, instead of happening one simulation step too early.
The
DynamicRigidBody.density
property no longer treats negative values (and zero) as a special case. Instead, there are two new
massMode
enumeration values replacing
Density
:
DefaultDensity
|
The density of the body is defined by PhysicsWorld.defaultDensity . This is the default. |
CustomDensity
|
The density of the body is defined by the density 特性。 |
The
enableTriggerReports
property has been renamed to
sendTriggerReports
. In addition, physics objects can now be notified when they enter a trigger body by setting
receiveTriggerReports
.
The following is a complete list of all the API changes:
CollisionNode
to
PhysicsNode
speed
to
movement
meshSource
to
source
heightMap
to
source
meshSource
to
source
DynamicsWorld
)
forceDebugView
to
forceDebugDraw
minTimestep
/
maxTimestep
to
minimumTimestep
/
maximumTimestep
axisLockLinearX/Y/Z
properties into a single property
linearAxisLock
that takes a bitfield
axisLockAngularX/Y/Z
properties into a single property
angularAxisLock
that takes a bitfield
Density
enum value to
DefaultDensity/CustomDensity
and removed special-casing of negative values.
linearVelocity
property with the method
setLinearVelocity
.
angularVelocity
property with the method
setAngularVelocity
.