Qt Quick 3D Physics - Exemple de matériau
Démonstration de l'utilisation de matériaux physiques.

L'exemple des matériaux montre comment contrôler les propriétés des matériaux d'un corps physique. La scène contient les éléments de base habituels, à savoir View3D, PhysicsWorld, PerspectiveCamera et DirectionalLight. En outre, la scène contient deux corps physiques, à savoir un plan légèrement incliné et une boîte. Chaque corps physique possède une propriété physicsMaterial contenant un nœud PhysicsMaterial. PhysicsMaterial contient ces trois propriétés matérielles : staticFriction, dynamicFriction et restitution, qui sont utilisées pour définir le comportement du corps lorsqu'il entre en collision avec d'autres corps ou qu'il glisse contre eux. Une interface utilisateur simple permet de modifier de manière interactive le matériau de la boîte afin de voir comment elle interagit en fonction de ses propriétés matérielles.
Voici le code QML pour le matériau :
PhysicsMaterial { id: physicsMaterial staticFriction: staticFrictionSlider.value dynamicFriction: dynamicFrictionSlider.value restitution: restitutionSlider.value }
Le matériau fait simplement référence aux valeurs des curseurs de l'interface utilisateur. Ce même matériau est ensuite utilisé pour la boîte et le sol :
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: PrincipledMaterial { baseColor: "green" } castsShadows: false receivesShadows: true } }
Fichiers :
© 2026 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.