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.
Exemple d'image stéréoscopique tirée du livre Learning Virtual Reality de Toni Parisi
Vue schématique du casque de réalité virtuelle Occulus Rift

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.

Application mobile de réalité augmentée d'IKEA

Réalité mixte

Milgram, Paul & Kishino, Fumio. (1994). A Taxonomy of Mixed Reality Visual Displays. IEICE Trans. Information Systems. vol. E77-D, no. 12. 1321-1329.

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

Casque de réalité mixte Microsoft HoloLens 2

Info

En réalité mixte, les éléments virtuels peuvent être occultés par des éléments réels contrairement à la réalité augmentée où les éléments virtuels sont toujours au premier plan.

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

Illustration des liens entre AR, VR, MR et XR par IBM

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.

AR.js   

Framework de réalité augmentée

A-Frame   

Framework de réalité virtuelle

Three.js   

Bibliothèque de rendu 3D

WebGL   

API graphique liée aux pilotes de la carte graphique

WebXR   

API de réalité étendue liée aux pilotes des casques de réalité virtuelle ou mixte

Matériel

Carte graphique et casque de réalité virtuelle

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.

Commencer