Qt Quick 3D Xr
はじめに
拡張現実(Extended Reality:XR)とは、仮想現実(Virtual Reality:VR)、拡張現実(Augmented Reality:AR)、複合現実(Mixed Reality:MR)を含む用語です。これらの技術は、ユーザーの周囲の世界に対する認識を変化させる没入体験を作り出します。Qt Quick 3D Xr モジュールは、さまざまなデバイスやプラットフォームで Qt Quick 3D を使用して XR アプリケーションを開発するための API を提供します。
Qt Quick 3D と Qt Quick 3D Xr アプリケーションの違い
エントリーポイント
開発者の視点から見た Qt Quick 3D と Qt Quick 3D Xr アプリケーションの主な違いは、シーンのエントリーポイントであり、実世界のユニットとトラッキングデータを意識することが不可欠です。
Qt Quick 3Dでは、最小限のアプリケーションはカメラ、ライト、3Dモデルで構成されます。これらの要素の位置とサイズは、シーンの座標系で定義されます。座標系は任意であり、アプリケーションのニーズに合わせて開発者が定義できます。
View3D { width: 1280 height: 720 PerspectiveCamera { position: Qt.vector3d(0, 200, 300) } DirectionalLight { } Node { id: sceneRoot Model { id: model position: Qt.vector3d(0, -200, 0) source: "#Cylinder" materials: [ PrincipledMaterial { baseColor: "red" }] } } }
XRアプリケーションでは、シーンを定義する際に実世界の単位とトラッキングデータを考慮します。カメラの位置と向きは、デバイスの、またはヘッドマウントディスプレイ(HMD)の場合はユーザーの頭の位置と向きによって定義されます。シーンの単位は実世界の単位に合わせる。例えば、ドアや机は、現実世界でも仮想世界と同じ大きさにしたいものです。
注意: Qt Quick 3D Xr アプリケーションのエントリーポイントは、View3D ではなく、XrView です。さらに、XrOrigin はシーンの原点を定義し、トラッキングされたアイテムが相対的に配置されます。
XrView { DirectionalLight { } xrOrigin: XrOrigin { XrController { id: rightController controller: XrController.ControllerRight } XrController { id: leftController controller: XrController.ControllerLeft } } Node { id: sceneRoot Model { id: floor source: ":meshes/floor.mesh" materials: [ PrincipledMaterial { baseColor: "green" }] } Model { id: table property real height: 0.7 position: Qt.vector3d(0, height - 2.5, 0) source: ":meshes/table.mesh" materials: PrincipledMaterial { baseColor: "white" } } Model { id: monitor source: ":meshes/monitor.mesh" y: table.height XrItem { id: theScreen y: monitor.yOffset + height x: -width / 2 width: monitor.width height: monitor.height contentItem: ScreenContent {} } } } }
追加のCMake関数
すべてのQt Quick 3D Xr のサンプルの CmakeLists.txt
ファイルにあるように、プロジェクトのトップレベルの CMakeLists ファイルにいくつかの関数を追加する必要があります。
この行をプロジェクトのCMakeListsファイルに追加することで、カスタムAndroidManifest.xml
:
if(ANDROID) set_property(TARGET xr_simple APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android)
AndroidManifest.xml
の設定の詳細については、Getting Started With Meta Quest 3ページの関連セクションを参照してください。
CMakeLists.txtの変更はvisionOSにも適用され、MacOSXBundleInfo.plist.in
:
endif() if (APPLE AND CMAKE_SYSTEM_NAME STREQUAL "visionOS") set_target_properties(xr_simple PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER io.qt.xr_simple MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/visionos/MacOSXBundleInfo.plist.in ) endif()
ここから先は?
Meta Quest 3を始める、またはApple Vision Proを始めるをご覧ください。サポートされるプラットフォームとデバイスの詳細については、「サポートされるプラットフォーム」のページをご覧ください。
特定のQt Quick 3D Xr APIをお探しの場合は、API Reference をご覧ください。また、Qt Quick 3D Xr APIがどのように使用できるかを示すQt Quick 3D Xr Examplesをお試しください。
クイックリンク
プラットフォームとツールチェーン | はじめに | APIリファレンス |
例 | ツールとIDE | XR アプリケーションの開発 |
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。