Qtクイック3D物理クッキング

コリジョンシェイプとしてメッシュを使用する場合、効率的なコリジョン検出のためにメッシュを処理し、データフォーマットに変換する必要があります。これを'クッキング'と呼びます。使用する前にクックする必要があるシェイプタイプは、ConvexMeshShapeTriangleMeshShapeHeightFieldShape の3つです。これらのシェイプを使用する場合、クッキングはシミュレーションの最初のフレームで自動的に行われます。このクッキングには顕著なパフォーマンスコストがかかるため、ロード時間を短縮するために、メッシュを事前にクッキングし、直接ロードすることが可能です。これにはキャッシュディレクトリを使う方法とクッカーツールを使う方法があります。

キャッシュ・ディレクトリ

キャッシュ・ディレクトリを使用するには、QT_PHYSICS_CACHE_PATH 環境変数に任意のディレクトリを設定します。アプリケーションが初めて実行されたとき、使用されたメッシュはすべてクックされ、このディレクトリに保存されます。次にアプリケーションを実行するときは、クックされたメッシュはクックされる代わりにディスクから読み込まれます。

クッカーツール

もうひとつの方法はcooker 。これをビルドし、メッシュまたはハイトフィールド画像を入力引数としてツールを呼び出すだけです:

cooker input.mesh

または

cooker input.png

入力がメッシュの場合、2つのファイルが生成されます:

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

1つのファイルは調理された三角メッシュで、もう1つは調理された凸メッシュです。これらはTriangleMeshShape::sourceConvexMeshShape::source のソースとして使用することができ、メッシュはクックすることなく読み込まれます。同様に、入力が画像ファイルの場合、input.cooked.hf という高さフィールドが生成され、HeightFieldShape::source プロパティでそれを参照することで読み込むことができます。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。