Framework de réalité augmentée
De très nombreux ouvrages ont été consacrés aux réalités alternatives. Le but de ce cours n'est pas d'en faire la synthèse mais plutôt d'illustrer les principes de fonctionnement de ces deux technologies en programmant des exemples simples qui pourront être testés sur un smartphone, une tablette ou un casque de réalité virtuelle.
(Brèves) définitions
Il est difficile de faire l'impasse sur les définitions principales afin de clarifier la terminologie.
Réalité virtuelle
Simulation de la présence physique d'un utilisateur dans un environnement artificiellement généré par des logiciels.
Wikipédia
La réalité virtuelle consiste donc à immerger un utilisateur dans un environnement synthétique. Cette immersion est réalisée grâce à un casque de réalité virtuelle disposant, au moins, de ces deux caractéristiques :
- Un affichage stéréoscopique
- permettant d'envoyer une image par oeil, légèrement décalées, afin de simuler l'écart pupillaire et donner une impression de relief.
- Une centrale inertielle
- capable de mesurer les mouvements de la tête afin d'adapter le point de vue dans l'environnement virtuel en temps réel.
Réalité augmentée
Superposition de la réalité et d'éléments (sons, images, vidéos, modèles 3D, etc.) calculés par un système informatique en temps réel.
Wikipédia
La réalité augmentée utilise les principes de la vision par ordinateur afin d'identifier des points caractéristisques (marqueurs) dans le flux vidéo. Une information numérique est alors affichée au premier plan à l'emplacement des marqueurs.
Réalité mixte
En 1994, Paul Milgram et Fumio Kishino définissent la réalité mixte comme étant toutes les formes de réalités alternatives situées entre la réalité et la virtualité.
Mais avec l'apparition de nouvelles technologies, la définition de la réalité mixte a évolué.
Fusion de mondes réels et virtuels pour produire de nouveaux environnements et visualisations, où les objets physiques et numériques coexistent et interagissent en temps réel.
Wikipédia
Réalité étendue
Extended reality (XR) is a term referring to all real-and-virtual combined environments[...] It includes representative forms such as augmented reality (AR), mixed reality (MR) and virtual reality (VR).
Wikipédia
Matériel
Les nombreux casques disponibles sur le marché se distinguent par les caractéristiques suivantes :
- Degrés de liberté (DL)
- 3DL en rotation pour les plus simples, jusqu'à 6DL (3DL en rotation + 3DL en translation).
- Autonomie
- Le casque est-il indépendant ou doit-il être relié à un ordinateur ?
- Type de réalité alternative
- Réalité virtuelle (RV), réalité augmentée (RA) ou réalité mixte (MR) ?
- Prix
- Très variable selon la technologie.
Nom | Degrés de liberté | Autonome | RV | RA | RM | Prix |
---|---|---|---|---|---|---|
Google cardboard | 3 | ✓ | ✓ | ✓ | χ | 10 € |
Meta Quest 2 | 6 | ✓ | ✓ | χ | χ | 450 € |
HTC Vive Focus 3 | 6 | ✓ | ✓ | χ | χ | 1400 € |
HTC Vive Pro 2 | 6 | χ | ✓ | χ | χ | 1400 € |
Microsoft HoloLens 2 | 6 | ✓ | χ | χ | ✓ | 4500 € |
Meta Quest Pro | 6 | ✓ | χ | χ | ✓ | 1800 € |
Meta Quest 3 | 6 | ✓ | χ | χ | ✓ | 700 € |
Approche Web
Différents langages et logiciels permettent de créer des applications de réaltié virtuelle ou augmentée. J'ai privilégié une approche Web car cette technologie est :
- Indépendante du système d'exploitation
- une application Web s'exécute dans n'importe quel environnement disposant d'un navigateur Web.
- Ne requiert aucune installation
- une application Web s'exécute dans un navigateur Web.
- Facile à déployer
- il suffit de déposer les fichiers sur un serveur Web afin de les exécuter sur un smartphone, une tablette ou un casque de réalité virtuelle connecté à internet.
- Simple à apprendre
- il existe un très grand nombre de ressources dédiées à l'apprentissage des technologies Web : les frameworks A-Frame et AR.js reposent principalement sur les langages HTML et JavaScript.
Le schéma ci-dessous décrit les relations entre les différentes couches logicielles participant à une application Web de réalité virtuelle ou augmentée.
Les chapitres suivants vont vous accompagner dans votre découverte de ce domaine, de la configuration de votre environnement de programmation à la création de scénarios de réalité étendue de plus en plus complexes.