Qt?6.4 包含新模块Qt Quick 3D Physics作为技术预览,这是一个在Qt Quick 3D之上添加物理模拟功能的模块。比较特别的是,它可以使用简单的基元(球体、盒子、平面和胶囊)以及凸面和三角形网格和高度图进行刚体模拟,质量、密度、重力和摩擦力等物理属性是可定制的。 这使得在 3D 场景中创建物理上正确的行为成为可能,而无需手工制作动画。
Qt技术交流群:166830288??????欢迎一起进群讨论
点击获取Qt组件下载将物理添加到您的场景中非常容易,以下片段是创建和渲染整个场景所需的全部内容,其中平面和盒子相互交互:
class="prettyprint lang-cpp">import QtQuick import QtQuick3D import QtQuick3D.Physics Window { visible: true DynamicsWorld {} View3D { anchors.fill: parent PerspectiveCamera { position: Qt.vector3d(0, 100, 500) clipFar: 5000 clipNear: 1 } DirectionalLight { eulerRotation.x: -45 eulerRotation.y: 45 castsShadow: true } StaticRigidBody { position: Qt.vector3d(0, 0, 0) eulerRotation: Qt.vector3d(-90, 0, 0) collisionShapes: PlaneShape {} Model { source: "#Rectangle" scale: Qt.vector3d(10, 10, 10) materials: PrincipledMaterial { baseColor: "green" } castsShadows: false receivesShadows: true } } DynamicRigidBody { position: Qt.vector3d(0, 200, 0) collisionShapes: BoxShape {} Model { source: "#Cube" materials: PrincipledMaterial { baseColor: "yellow" } } } } }?
Qt?Quick 3D Physics 是一个纯 QML API,目前在 Qt 6.4 中作为技术预览版提供。 该文档附带了一些说明性示例,展示了该模块的不同功能。
?Qt技术交流群:166830288??????欢迎一起进群讨论