Qt Quick Cuisson physique 3D
Lorsqu'un maillage est utilisé comme forme de collision, il doit être traité et converti dans un format de données permettant une détection efficace des collisions. C'est ce qu'on appelle la "cuisson". Il existe trois types de formes qui doivent être cuites avant de pouvoir être utilisées, à savoir ConvexMeshShape, TriangleMeshShape et HeightFieldShape. La cuisson se produit automatiquement sur la première image de la simulation lors de l'utilisation de l'une de ces formes. Cette cuisson peut entraîner un coût de performance notable, de sorte que pour permettre des temps de chargement plus rapides, il est possible de précuire les maillages et de les charger directement. Il existe deux façons de procéder, à savoir l'utilisation d'un répertoire de cache ou de l'outil de cuisson.
Répertoire cache
Pour utiliser le répertoire de cache, définissez la variable d'environnement QT_PHYSICS_CACHE_PATH dans un répertoire de votre choix. Lors de la première exécution de l'application, toutes les mailles utilisées seront cuites et stockées dans ce répertoire. Les fois suivantes, les mailles cuites seront lues à partir du disque au lieu d'être cuites.
Outil de cuisson
L'autre solution consiste à utiliser l'outil cooker. Construisez-le, puis appelez simplement l'outil avec le maillage ou l'image du champ de hauteur comme argument d'entrée :
cooker input.meshou
cooker input.pngSi l'entrée est un maillage, l'outil génère deux fichiers :
input.cooked.triinput.cooked.cvx
Un fichier est un maillage triangulaire cuit et l'autre un maillage convexe cuit. Ces fichiers peuvent ensuite être simplement utilisés comme sources de TriangleMeshShape::source et ConvexMeshShape::source et les maillages seront chargés sans qu'il soit nécessaire de les cuisiner. De même, si l'entrée est un fichier image, un champ de hauteur est généré sous le nom de input.cooked.hf, qui peut ensuite être chargé en le référençant dans la propriété HeightFieldShape::source.
© 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.