Qt Quick 3D - XR Ejemplo simple
Demuestra la configuración de una simple escena VR con Qt Quick 3D XR.

Este ejemplo da una visión introductoria de las características básicas de Qt Quick 3D Xr.
La principal diferencia al escribir una aplicación XR es que el elemento raíz de nuestro main.qml es un XrView en lugar de una Ventana con un View3D:
import QtQuick3D import QtQuick3D.Xr XrView { id: xrView XrErrorDialog { id: err } onInitializeFailed: (errorString) => err.run("XRView", errorString) referenceSpace: XrView.ReferenceSpaceLocalFloor
El XrView contiene la escena 3D, igual que un View3D. En este ejemplo añadimos un XrErrorDialog que mostrará un diálogo de error si obtenemos un error inicializando el casco de RV cuando se transmite desde un PC de sobremesa. También especificamos que el marco de referencia para esta aplicación se mide desde el suelo de la habitación donde se encuentra el usuario. Es decir, el suelo estará en y = 0.
El origen del marco de referencia se define en 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" } } }
En este ejemplo añadimos dos elementos XrController, uno para cada mano. Seguirán la posición y orientación de las manos del usuario. Dado que XrController es un Node, cualquier hijo seguirá automáticamente los movimientos de las manos. En este caso, utilizamos un modelo simple de un cubo para visualizar la posición del controlador.
El resto de main.qml es una escena 3D normal de Qt Quick.
© 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.