Qt 3D
Qt 3D は、Qt C++ と Qt Quick アプリケーションの両方で 2D と 3D のレンダリングをサポートし、ニアリアルタイムのシミュレーションシステムのための機能を提供します。
Qt 3D の機能は、以下の C++ モジュールに分かれています:
以下の C++ モジュールは開発中ですが、テクノロジー・プレビューとして利用可能です:
Qt Quick アプリケーションでは、Qt 3D は以下の QML モジュールを提供します:
以下の QML モジュールは開発中ですが、テクノロジープレビューとして利用可能です:
モジュールの使用
2Dまたは3Dのレンダリング、衝突検出、ユーザー入力処理を行うC++アプリケーションでは、モジュールのクラスの以下のディレクティブをインクルードしてください:
#include <Qt3DCore> #include <Qt3DRender> #include <Qt3DInput> #include <Qt3DLogic> #include <Qt3DExtras> #include <Qt3DAnimation>
QML 型をアプリケーションにインポートするには、.qml ファイルに以下の import 文を記述してください:
import Qt3D.Core import Qt3D.Render import Qt3D.Input import Qt3D.Logic import Qt3D.Extras import Qt3D.Animation import QtQuick.Scene2D import QtQuick.Scene3D
Qt モジュールの C++ API を使用するには、モジュール・ライブラリを直接リンクするか、他の依存関係を通 してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。
CMake でのビルド
find_package()
コマンドを使って、Qt6
パッケージの中から必要なモジュールコンポーネントを探します:
find_package(Qt6 REQUIRED COMPONENTS 3DCore 3DRender 3DInput 3DLogic 3DExtras 3DAnimation ) target_link_libraries(mytarget PRIVATE Qt6::3DCore Qt6::3DRender Qt6::3DLogic Qt6::3DExtras Qt6::3DAnimation )
qmakeでビルドする
qmakeでビルドするようにモジュールを設定するには、プロジェクトの.proファイルのQT
変数にモジュールを追加します:
QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation
Qt Quick アプリケーションには追加の依存関係が必要です:
QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation qml quick 3dquick
概要
Qt 3D のハイレベルな設計と動機についてはQt 3D Overview を参照してください。Qt 3D Renderは、Qt 3D Render Framegraphで説明されているように、データ駆動型コンフィギュレーションをサポートしています。
リファレンス
Qt 3D プラットフォームのサポート
Qt 3D は以下のプラットフォームをサポートしています:
- Microsoft Windows (win32) - サポート
- Linux X11 - サポートされています。
- macOS - Retina スケーリングの問題があるかもしれませんが、サポートされています。
- Android - サポートされています。
- 組み込み Linux - サポート済み
- iOS - サポート済み (Qt 5.7)
- WinRT - 未サポート
モジュールの進化
Qt3D の変更点には、Qt 6 シリーズで行われたモジュール API と機能の重要な変更が記載されています。
ライセンスと帰属
Qt 3D はThe Qt Company の商用ライセンスで利用できます。また、GNU Lesser General Public License, version 3 またはGNU General Public License, version 2 の下でも利用可能です。詳細はQt ライセンスを参照してください。
さらに、Qt 3Dは以下のライセンスでサードパーティモジュールを含んでいます:
MITライセンス | |
MITライセンスまたはパブリックドメイン | |
MITライセンス | |
BSD 3-clause "新規" または "改訂" ライセンス |
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。