从技术预览版变更的 Qt Quick 3D 物理API

从 Qt 6.5.0 版本开始,Qt Quick 3D 物理模块已不再处于技术预览状态。由于 API 反馈和审查过程,进行了一些与源代码不兼容的更改。

大多数更改是重命名类型和属性,以提高与其他 API的一致性,并使名称更具描述性。最显著的更改是将 DynamicsWorld 改名为 PhysicsWorld,这将影响所有应用程序。

最重要的行为更改是处理 运动学刚体。不再通过使用 Node 属性(如 positionrotation 等)来更改运动学刚体的位置/朝向,而是通过使用新的属性:kinematicPositionkinematicEulerRotationkinematicRotationkinematicPivot 来实现。进行此更改的原因是为了确保运动学刚体的视觉运动与其余仿真同步,而不是早于一步发生。

DynamicRigidBody.density 属性中不再将负值(和零)视为特殊情况。相反,有两种新的 massMode 枚举值取代了 Density

默认密度通过 PhysicsWorld.defaultDensity 定义身体的密度。这是默认设置。
自定义密度通过 density 属性定义身体的密度。

已将 enableTriggerReports 属性重命名为 sendTriggerReports。此外,当物理对象进入触发身体时,通过设置 receiveTriggerReports 可以通知物理对象。

以下是所有 API 变更的完整列表

© 2024 Qt 公司。此处包含的文档贡献归各自所有者所有。提供的文档是根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 许可的。Qt 及其相关标志是芬兰及/或世界其他地区的 Qt 公司商标。所有其他商标均属于其各自所有者。