Qt Quick 3D Physics Kochen
Wenn ein Netz als Kollisionsform verwendet wird, muss es verarbeitet und in ein Datenformat für eine effiziente Kollisionserkennung umgewandelt werden. Dies wird als "Kochen" bezeichnet. Es gibt drei Shape-Typen, die gekocht werden müssen, bevor sie verwendet werden können, nämlich ConvexMeshShape, TriangleMeshShape und HeightFieldShape. Das Kochen erfolgt automatisch beim ersten Frame der Simulation, wenn eine dieser Formen verwendet wird. Um schnellere Ladezeiten zu ermöglichen, ist es daher möglich, die Meshes vorzukochen und direkt zu laden. Hierfür gibt es zwei Möglichkeiten, nämlich die Verwendung eines Cache-Verzeichnisses oder des Cooker-Tools.
Cache-Verzeichnis
Um das Cache-Verzeichnis zu verwenden, setzen Sie die Umgebungsvariable QT_PHYSICS_CACHE_PATH
auf ein Verzeichnis Ihrer Wahl. Wenn die Anwendung zum ersten Mal ausgeführt wird, werden alle verwendeten Meshes gekocht und in diesem Verzeichnis gespeichert. Bei den folgenden Durchläufen der Anwendung werden die gekochten Maschen von der Festplatte gelesen, anstatt sie zu kochen.
Cooker-Werkzeug
Die andere Möglichkeit ist die Verwendung des Tools cooker
. Erstellen Sie es und rufen Sie es dann einfach mit dem Mesh- oder Heightfield-Bild als Eingabeargument auf:
cooker input.mesh
oder
cooker input.png
Wenn es sich bei der Eingabe um ein Netz handelt, werden zwei Dateien erzeugt:
input.cooked.tri
input.cooked.cvx
Eine Datei ist ein gekochtes Dreiecksnetz und die andere ein gekochtes konvexes Netz. Diese können dann einfach als Quellen für TriangleMeshShape::source und ConvexMeshShape::source verwendet werden, und die Netze werden ohne weiteres Kochen geladen. Wenn die Eingabe eine Bilddatei ist, wird ein Höhenfeld mit dem Namen input.cooked.hf
generiert, das dann durch einen Verweis in der Eigenschaft HeightFieldShape::source geladen werden kann.
© 2025 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.