Qt Quick 3D - Einfaches XR-Beispiel

Veranschaulicht die Einrichtung einer einfachen VR-Szene mit Qt Quick 3D XR.

VR-Szene mit dem Text „Qt 6 in VR“ und drei farbigen Würfeln

Dieses Beispiel bietet einen einführenden Überblick über die grundlegenden Funktionen von „ Qt Quick 3D Xr“.

Der wesentliche Unterschied beim Erstellen einer XR-Anwendung besteht darin, dass das Stammelement unserer `main.qml` ein ` XrView ` ist und kein `Window` mit einem ` View3D`:

import QtQuick3D
import QtQuick3D.Xr

XrView {
    id: xrView
    XrErrorDialog { id: err }
    onInitializeFailed: (errorString) => err.run("XRView", errorString)
    referenceSpace: XrView.ReferenceSpaceLocalFloor

Das „ XrView “ enthält die 3D-Szene, genau wie ein „ View3D “. In diesem Beispiel fügen wir ein „ XrErrorDialog “ hinzu, das einen Fehlerdialog anzeigt, falls beim Streaming von einem Desktop-PC ein Fehler bei der Initialisierung des VR-Headsets auftritt. Außerdem legen wir fest, dass der Referenzrahmen für diese Anwendung vom Boden des Raums aus gemessen wird, in dem sich der Benutzer befindet. Das heißt, der Boden befindet sich an der Position „ y = 0 “.

Der Ursprung des Referenzrahmens wird durch die Koordinaten XrOrigin definiert:

    xrOrigin: theOrigin
    XrOrigin {
        id: theOrigin

        XrController {
            controller: XrController.LeftController
            poseSpace: XrController.AimPose
            CubeModel { color: "blue" }
        }

        XrController {
            controller: XrController.RightController
            poseSpace: XrController.AimPose
            CubeModel { color: "red" }
        }
    }

In diesem Beispiel fügen wir zwei „ XrController “-Elemente hinzu, eines für jede Hand. Diese verfolgen die Position und Ausrichtung der Hände des Benutzers. Da „ XrController “ ein „ Node “ ist, folgen alle untergeordneten Elemente automatisch den Handbewegungen. In diesem Fall verwenden wir ein einfaches Würfelmodell, um die Position des Controllers zu visualisieren.

Der Rest von „main.qml“ ist eine normale „ Qt Quick 3D “-Szene.

Beispielprojekt auf code.qt.io

© 2026 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.