Qt Quick 3D Xr
Einführung
Extended Reality (XR) ist ein Begriff, der Virtual Reality (VR), Augmented Reality (AR) und Mixed Reality (MR) umfasst. Diese Technologien schaffen immersive Erlebnisse, die die Wahrnehmung der Umwelt durch den Benutzer verändern können. Das Qt Quick 3D Xr-Modul bietet APIs für die Entwicklung von XR-Anwendungen mit Qt Quick 3D für eine Vielzahl von Geräten und Plattformen.
Unterschied zwischen Qt Quick 3D und Qt Quick 3D Xr-Anwendungen
Der Einstiegspunkt
Der Hauptunterschied zwischen einer Qt Quick 3D und einer Qt Quick 3D Xr-Anwendung ist aus der Sicht eines Entwicklers der Einstiegspunkt in die Szene, und die Kenntnis der realen Einheiten und Tracking-Daten ist entscheidend.
In Qt Quick 3D besteht eine minimale Anwendung aus einer Kamera, einem Licht und einem 3D-Modell. Die Positionierung und Größe dieser Elemente wird im Koordinatensystem der Szene definiert, das beliebig ist und vom Entwickler so definiert werden kann, dass es den Anforderungen der Anwendung entspricht.
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" }] } } }
In einer XR-Anwendung sollten Sie bei der Definition der Szene reale Einheiten und Tracking-Daten berücksichtigen. Die Position und Ausrichtung der Kamera wird durch die Position und Ausrichtung des Geräts bzw. bei Head-Mounted-Displays (HMD) durch die Position und Ausrichtung des Kopfes des Benutzers bestimmt. Die Einheiten der Szene sollten mit den realen Einheiten übereinstimmen. Zum Beispiel sollte eine Tür oder ein Schreibtisch in der realen Welt die gleiche Größe haben wie in der virtuellen Welt.
Hinweis: Der Einstiegspunkt in einer Qt Quick 3D Xr-Anwendung ist nicht View3D, sondern XrView. Darüber hinaus definiert XrOrigin den Ursprung der Szene, auf den die verfolgten Elemente relativ zueinander platziert werden.
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 {} } } } }
Zusätzliche CMake-Funktionen
Wie in der CmakeLists.txt
Datei für alle Qt Quick 3D Xr Beispiele zu sehen ist, müssen Sie einige Funktionen zur CMakeLists Datei auf oberster Ebene Ihres Projekts hinzufügen.
Um eine benutzerdefinierte AndroidManifest.xml
zu spezifizieren und sicherzustellen, dass sie verwendet wird, fügen Sie diese Zeile zur CMakeLists-Datei Ihres Projekts hinzu:
if(ANDROID) set_property(TARGET xr_simple APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android) endif()
Weitere Details zum Einrichten Ihrer AndroidManifest.xml
finden Sie im entsprechenden Abschnitt auf der Seite Erste Schritte mit Meta Quest 3.
Die Änderungen in CMakeLists.txt gelten auch für visionOS, wo wir die Datei MacOSXBundleInfo.plist.in
einbinden:
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()
Wie geht es jetzt weiter?
Werfen Sie einen Blick auf Getting Started With Meta Quest 3 oder Getting Started With Apple Vision Pro, um weitere Informationen zu erhalten, wie Sie mit Ihrem spezifischen Gerät beginnen können. Auf der Seite Unterstützte Plattformen finden Sie weitere Informationen zu den unterstützten Plattformen und Geräten.
Wenn Sie nach einer bestimmten Qt Quick 3D Xr API suchen, werfen Sie einen Blick auf API Reference, oder probieren Sie eines der Qt Quick 3D Xr Beispiele aus, die zeigen, wie die Qt Quick 3D Xr APIs verwendet werden können.
Schnelle Links
Plattformen und Toolchains | Erste Schritte | API-Referenz |
Beispiele | Werkzeuge und IDEs | Entwicklung von XR-Anwendungen |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.