En esta página

Qt Quick Cocción de Física 3D

Cuando se utiliza una malla como forma de colisión, es necesario procesarla y convertirla a un formato de datos que permita una detección de colisiones eficaz. Esto se denomina "cocinado". Hay tres tipos de formas que necesitan ser cocinadas antes de que puedan ser utilizadas, a saber ConvexMeshShape, TriangleMeshShape y HeightFieldShape. La cocción se produce automáticamente en el primer fotograma de la simulación cuando se utiliza cualquiera de estas formas. Esta cocción puede suponer un notable coste de rendimiento, por lo que para acelerar los tiempos de carga es posible precocinar las mallas y cargarlas directamente. Hay dos maneras de hacerlo, utilizando un directorio de caché o la herramienta de cocción.

Directorio caché

Para utilizar el directorio de caché, establezca la variable de entorno QT_PHYSICS_CACHE_PATH en el directorio que desee. Cuando la aplicación se ejecute por primera vez, todas las mallas utilizadas se cocinarán y almacenarán en este directorio. Las siguientes veces que se ejecute la aplicación, las mallas cocinadas se leerán del disco en lugar de ser cocinadas.

Herramienta de cocción

La otra forma es utilizar la herramienta cooker. Constrúyela, luego simplemente llama a la herramienta con la malla o la imagen del campo de altura como argumento de entrada:

cooker input.mesh

o

cooker input.png

Si la entrada es una malla, generará dos archivos:

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

Uno es una malla triangular y el otro una malla convexa. Estos archivos pueden utilizarse como fuentes de TriangleMeshShape::source y ConvexMeshShape::source y las mallas se cargarán sin necesidad de cocción. Del mismo modo, si la entrada es un archivo de imagen, se genera un campo de altura llamado input.cooked.hf que puede cargarse haciendo referencia a él en la propiedad 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.