Qt Quick 3D XR

Introduction
La réalité étendue (XR) est un terme qui englobe la réalité virtuelle (VR), la réalité augmentée (AR) et la réalité mixte (MR). Ces technologies créent des expériences immersives capables de modifier la perception qu’a l’utilisateur du monde qui l’entoure. Le module 3D XR d'Qt Quick fournit des API permettant de développer des applications XR avec la 3D d'Qt Quick sur divers appareils et plateformes.
Différence entre les applications 3D d’ Qt Quick et les applications 3D XR d’ Qt Quick
Le point d’entrée
Du point de vue du développeur, la principale différence entre une application Qt Quick 3D et une application Qt Quick 3D XR réside dans le point d’entrée de la scène ; il est essentiel de prendre en compte les unités du monde réel et les données de suivi.
Dans une application 3D « Qt Quick », une application minimale se composerait d’une caméra, d’une source lumineuse et d’un modèle 3D. Le positionnement et la taille de ces éléments sont définis dans le système de coordonnées de la scène, qui est arbitraire et peut être défini par le développeur en fonction des besoins de l’application.
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"
}]
}
}
}Dans une application XR, tenez compte des unités du monde réel et des données de suivi lors de la définition de la scène. La position et l’orientation de la caméra sont déterminées par celles de l’appareil ou, dans le cas des casques de réalité virtuelle (HMD), par la position et l’orientation de la tête de l’utilisateur. Les unités de la scène doivent correspondre aux unités du monde réel. Par exemple, vous souhaiterez qu’une porte ou un bureau ait la même taille dans le monde réel que dans le monde virtuel.
Remarque : le point d’entrée d’une application 3D XR d’ Qt Quick n’est pas un ` View3D `, mais le ` XrView`. De plus, un ` XrOrigin ` définit l’origine de la scène, par rapport à laquelle les éléments suivis sont placés.
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 {}
}
}
}
}Fonctions CMake supplémentaires
Comme on peut le voir dans le fichier CmakeLists.txt de tous les exemplesQt Quick 3D Xr, vous devez ajouter certaines fonctions au fichier CMakeLists de niveau supérieur de votre projet.
Pour spécifier un fichier « AndroidManifest.xml » personnalisé et vous assurer qu’il soit bien utilisé, ajoutez cette ligne au fichier CMakeLists de votre projet :
if(ANDROID)
set_property(TARGET xr_simple APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android)
endif()Pour plus de détails sur la configuration de votre AndroidManifest.xml, consultez la section correspondante de la page « Premiers pas avec Meta Quest 3 ».
Les modifications apportées au fichier CMakeLists.txt s'appliquent également à visionOS, où nous incluons le fichier d'MacOSXBundleInfo.plist.in:
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()Et maintenant ?
Consultez les pages « Premiers pas avec Meta Quest 3 » ou « Premiers pas avec Apple Vision Pro » pour plus d’informations sur la manière de démarrer avec votre appareil spécifique. Consultez la page « Plateformes prises en charge » pour plus d’informations sur les plateformes et les appareils pris en charge.
Si vous recherchez une API 3D XR spécifique d’ Qt Quick, consultez la page « API Reference » ou essayez l’un des exemples 3D XR disponibles surQt Quick , qui illustrent comment utiliser les API 3D XR d’ Qt Quick.
Liens rapides
| Plateformes et chaînes d’outils | Pour commencer | Référence API |
| Exemples | Outils et IDE | Développement d'applications XR |
© 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.