Sur cette page

Qt Quick 3D Physics Cooking

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. Ce processus est appelé « cooking ». Trois types de formes doivent être traités avant de pouvoir être utilisés : ConvexMeshShape, TriangleMeshShape et HeightFieldShape. Le traitement s'effectue automatiquement lors de la première image de la simulation lorsque l'une de ces formes est utilisée. Ce « cooking » peut entraîner un coût de performance notable ; afin d’accélérer les temps de chargement, il est donc possible de pré-traiter les maillages et de les charger directement. Il existe deux façons de procéder : l’utilisation d’un répertoire de cache ou l’outil « cooker ».

Répertoire de cache

Pour utiliser le répertoire de cache, définissez la variable d’environnement ` QT_PHYSICS_CACHE_PATH ` sur le répertoire de votre choix. Lors du premier lancement de l’application, tous les maillages utilisés seront « cuits » et stockés dans ce répertoire. Lors des lancements suivants, les maillages « cuits » seront lus depuis le disque au lieu d’être « cuits » à nouveau.

Avertissement : les fichiersdu répertoire de cache ne sont pas validés avant d’être chargés. Le chargement d’un fichier de cache mal formé ou non fiable peut avoir des implications en matière de sécurité. Les développeurs d’applications doivent en tenir compte avant de définir la variable d’environnement QT_PHYSICS_CACHE_PATH sur un répertoire accessible en écriture par d’autres utilisateurs ou processus.

Outil Cooker

L’autre méthode consiste à utiliser l’outil cooker. Compilez-le, puis lancez-le simplement en lui passant l’image du maillage ou du champ de hauteur comme argument d’entrée :

cooker input.mesh

ou

cooker input.png

Si l’entrée est un maillage, il générera deux fichiers :

  • input.cooked.tri
  • input.cooked.cvx

L’un est un maillage triangulaire « cuit » et l’autre un maillage convexe « cuit ». Ceux-ci peuvent ensuite être utilisés comme sources pour TriangleMeshShape::source et ConvexMeshShape::source; les maillages seront alors chargés sans nécessiter de « cuisson ». De même, si l’entrée est un fichier image, un champ de hauteur est généré sous le nom 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.