3D アセットの最適化

Qt Quick 3Dでは、3Dモデリングツールを使用して作成された3Dモデルやシーンをインポートできます。サポートされているファイル フォーマットについては、Balsam ツールのドキュメントを参照してください。

3Dコンテンツの概要

このセクションでは、Qt Quick 3Dで使用する3Dアセットの作成とエクスポートの概要を説明します。より詳細な情報については、使用している特定の3Dモデリングツールのセクションを参照してください。

ジオメトリ

  • 三角形を使用するQt Quick 3D は、三角形としてエクスポートされたジオメトリのみをサポートしています。多くの3Dモデリングツールは、エクスポート時にメッシュを三角形化するオプションを提供していますが、一部のツールではエクスポート前に手動で行う必要があります。モデルがエクスポート時に三角形化されていない場合、インポート時に三角形化され、最適な結果が得られない可能性があります。三角形化できないプリミティブを使ってモデルがエクスポートされた場合、それらのプリミティブはインポート時に無視されます。
  • ピボットポイントの扱いDCC(デジタル・コンテンツ・クリエーション)ツールによって、ピボットポイントの扱いが異なります。Qt Quick 3Dでは、ピボットは1つのオブジェクトにつき1つだけで、位置、スケール、回転操作の原点として使用されます。DCCツールでは、必要に応じて3Dモデルのピボットの位置を自由に調整できます。ただし、3Dモデリングツールでピボットを極端に編集すると、特にアニメーションの場合、インポート時に問題が発生することがあります。この違いは、オブジェクトの位置や向きの違いとして現れることがよくあります。アーティストとして、ピボットポイントに簡単な編集を加えるだけで、この種の問題を防ぐことができます。ピボットポイントはデフォルト(ワールド)のアライメントに保ち、スケーリングせず、複数のピボット(Maya)がある場合は、それらがすべて空間内の同じ位置にあることを確認してください。
  • トランスフォームご想像の通り、位置、回転、スケール、ピボットを含む完全な 3D トランスフォーム情報をインポートできます。Qt Quick 3Dは右手座標系、Y-up、クォータニオンベースの回転を扱うことができます。この分野での主な制限はピボット・ポイントです。上述したように、ピボット・ポイントの簡単な編集しかサポートされていません。

    ほとんどのDCCツールでは、アーティストが変形をフリーズすることができるので、Qt Quick 3Dにメッシュデータをインポートする前にこの操作を行うことを強くお勧めします。この操作により、インポートされたメッシュはきれいなトランスフォーム・データとなり、混乱を招いたり作業の妨げとなるような任意のトランスフォーム値がないことが保証されます。

    注意: トランスフォームをフリーズした後、いくつかのDCCツールでピボットポイントを再配置する必要があるかもしれません。

アニメーション

インポートされたアトリビュートでは、アニメーションがサポートされています。位置、回転、スケール、ピボットはすべてアニメーションできます。アニメーションの高度なサポートの例としては、アイテムの階層を任意の軸で同時に回転させることができます。

  • 時間ベースのアニメーション多くの3Dモデリングツールのデフォルトでは、キーフレームを作成するときに、特定のフレーム番号に関連付けます。これは、フレームレートが一定である映画業界では素晴らしいことですが、フレームレートが揺るぎないとは限らないアプリケーションでは、このテクニックには必ずしも問題があります。この問題に対する私たちの解決策は、キーフレームの位置をフレーム番号ではなく時間値で表現することです。そうすれば、「このロゴ・アニメーションは3秒間再生される」と言った場合、3秒間再生されることを保証できます。もし「このロゴアニメーションは180フレーム再生されます」とフレーム数で表現すると、60fpsなら3秒間再生されるかもしれませんが、30fpsに落ちるとアニメーションはもっと遅くなります。

    幸いなことに、これを考慮するのは比較的簡単です。多くの3Dモデリングツールのデフォルト設定は24フレーム/秒なので、キーフレームはその比率で変換されます。キーフレームを1秒にしたい場合は、24フレームに置きます。2秒?2秒なら48フレーム、といった具合だ。通常、設定可能なフレームレートが提供されており、インポート時にフレームレートの設定を尊重する必要があります。また、例えばMayaの場合、デフォルトでフレーム1から始まることにも注意しましょう。フレーム1にキーフレームがある場合、そのキーフレームの時間は1/24または0.041秒になります。Mayaのアニメーション設定で、アニメーションをフレーム0、つまり0/24=0秒から開始するのがよいでしょう。

  • さまざまなアニメーションシステム3Dモデリングツールは、非常に複雑で特殊なアニメーションシステムを提供しています。実用的な場合は、Qt Quick 3Dのアニメーション機能を使用することをお勧めします。これは、インポート時にメッシュ情報をきれいに保つのに役立ちます。
  • アニメーションをベイクするエクスポートする前に、すべてのアニメーションをベイクする必要があります。

マテリアル

マテリアルについては、マテリアルスロットIDとUVレイアウトがインポートされます。

  • テクスチャ異なるマテリアルIDに適用された画像がインポートされます。.png または圧縮画像フォーマットの使用をお勧めします。
  • テクスチャマップのピクセル寸法に2のべき乗を使うほとんどのリアルタイムグラフィックスと同様に、テクスチャマップはピクセル寸法を2のべき乗に設定すると最適に動作します。

ライトとカメラ

ライトとカメラはインポートできます。

  • ライトライト、指向性ライト、ポイントライト、スポットライトは、位置、回転、 ライトカラー、減衰係数のプロパティとともにインポートされます。
  • カメラパースペクティブカメラとオルソグラフィックカメラをインポートできます。位置、回転プロパティ、開始および終了クリッピングがインポートされます。パースカメラでは、視野もインポートされます。

その他

  • 軸変換Qt Quick 3D は Y-up 座標系を使用します。Up AxisY に設定されていることを確認してください。
  • 階層Qt Quick 3D は、階層情報のインポートをサポートしています。グループ化されたノードを含む、任意の深さの階層がサポートされています。階層変換は期待通りに適用されます。

異なるツールからのエクスポート

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