Qt Quick Exemple simple de 3D - XR

Cet exemple illustre la configuration d'une scène VR simple avec Qt Quick 3D XR.

Scène de réalité virtuelle avec le texte « Qt 6 » en réalité virtuelle et trois cubes colorés

Cet exemple offre un aperçu introductif des fonctionnalités de base de Qt Quick 3D XR.

La principale différence lors de l'écriture d'une application XR réside dans le fait que l'élément racine de notre fichier main.qml est un XrView au lieu d'une Window avec un View3D:

import QtQuick3D
import QtQuick3D.Xr

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

L’ XrView contient la scène 3D, tout comme un View3D. Dans cet exemple, nous ajoutons un XrErrorDialog qui affichera une boîte de dialogue d’erreur si une erreur survient lors de l’initialisation du casque VR lors de la diffusion depuis un PC de bureau. Nous précisons également que le repère de référence de cette application est mesuré à partir du sol de la pièce où se trouve l’utilisateur. Autrement dit, le sol se situera à y = 0.

L’origine du repère de référence est définie par l’élément ` XrOrigin` :

    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" }
        }
    }

Dans cet exemple, nous ajoutons deux éléments « XrController », un pour chaque main. Ils suivront la position et l’orientation des mains de l’utilisateur. Comme « XrController » est une « Node », tous ses éléments enfants suivront automatiquement les mouvements des mains. Dans ce cas, nous utilisons un modèle simple de cube pour visualiser la position du contrôleur.

Le reste du fichier main.qml correspond à une scène 3D normale d’ Qt Quick.

Exemple de projet sur 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.