Qt Quick 3D 物理效果 - 材质示例
演示了如何使用物理材质。
材质 示例演示了如何控制物理体的材质属性。场景包含常用的 View3D,PhysicsWorld,PerspectiveCamera 和 DirectionalLight。除此之外,场景还包含两个物理体,即一个略微倾斜的平面和一个盒子。每个物理体都有一个包含 physicsMaterial 的属性,该属性包含一个 PhysicsMaterial 节点。《PhysicsMaterial》 包含这三个材质属性;静态摩擦,动态摩擦 和 恢复,这些属性用来定义物体在与其他物体碰撞和滑动时的行为。有一个简单的用户界面,可以交互式地调整盒子的材质,以便您可以看到根据其材质属性如何互动。
这是材质的 QML 代码
PhysicsMaterial { id: physicsMaterial staticFriction: staticFrictionSlider.value dynamicFriction: dynamicFrictionSlider.value restitution: restitutionSlider.value }
材质简单引用用户界面滑动条的值。这个相同的材质被用于盒子和地面
DynamicRigidBody { id: box physicsMaterial: physicsMaterial massMode: DynamicRigidBody.CustomDensity density: 10 property vector3d startPosition: Qt.vector3d(700, 300, 0) position: startPosition Model { source: "#Cube" materials: PrincipledMaterial { baseColor: "red" } } collisionShapes: BoxShape {} } StaticRigidBody { eulerRotation: Qt.vector3d(-79, -90, 0) scale: Qt.vector3d(20, 30, 100) physicsMaterial: physicsMaterial collisionShapes: PlaneShape {} Model { source: "#Rectangle" materials: DefaultMaterial { diffuseColor: "green" } castsShadows: false receivesShadows: true } }
文件
© 2024 Qt 公司。本文档中包含的文档贡献是其各自所有者的版权。本文档根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可。Qt 和相应的标志是芬兰的 Qt 公司及其在全球的子公司或附属公司的 商标。所有其他商标均为其各自所有者的财产。