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は以下のライセンスでサードパーティモジュールを含んでいます:

Dear ImGui - ProggyClean.ttf

MITライセンス

Dear ImGui - stb

MITライセンスまたはパブリックドメイン

Dear ImGui, version v1.91.0

MITライセンス

Open Asset Import Library, version 5.4.3

BSD 3-clause "新規" または "改訂" ライセンス

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