Les textes et concepts de ce chapitre sont tirés du cours VR de Nicolas Chabloz.
Les degrés de liberté font référence au nombre et types de mouvements réalisables dans un espace 3D. En réalité virtuelle, il existe différentes possibilités :
Le 3DoF pour "Three Degrees Of Freedom", qui indique que le matériel peut suivre les mouvements de rotation effectués par l'utilisateur (ces trois axes sont yaw, pitch et roll).
Le 6DoF pour "Six Degrees Of Freedom" qui, en plus de pouvoir suivre les mouvements de rotation, peut également suivre les mouvements de translation (forward/back, up/down, left/right).
En général, le nombre de degrés de liberté du casque correspond à celui du contrôleur (quand il y en a un).
Le suivi de position (positional tracking) est possible aujourd'hui avec les 2 techniques ci-dessous :
- Outside-in (Oculus camera IR, Valve lighthouse…)
- Inside-out tracking (simultaneous localization and mapping SLAM)
La première est externe au casque et la seconde est intégrée au casque. Bien que plus intéressante pour sa portabilité, la version inside-out est souvent moins précise et il semble difficile qu'elle offre un jour un tracking du corps entier.
Pour aller plus loin sur leurs fonctionnements : How VR Positional Tracking System Work
La VR se démocratisant, de nouveaux systèmes permettant d'interagir émergent ou se répendent également. Voici quelques systèmes d'interactions possibles aujourd'hui :
-
Regard (gaze interaction) : l'utilisateur·trice interagit avec un élément en le centrant dans sa vue (peut-être utiliser avec un minuteur).
-
Yeux (eye-tracking) : certains casques permettent de suivre la direction des yeux.
-
Contrôleur 3DoF : suivi des mouvements de rotation uniquement. Son usage en VR se limite à pouvoir pointer des objets comme les télécommandes des TV modernes, mais également à servir aux déplacements. Toutefois, certains contrôleurs peuvent simuler un 6DoF (Documentation Unity).
-
Contrôleur 6DoF : suivi des mouvement de rotation et de position (dans la main du joueur ou ailleurs). Cela permet d'avoir une immersion quasiment parfaite.
-
Mains : une grande majorité de casques (en 2024), intégrent directement un système de suivi de la position des mains et des doigts de l'utilisateur·trice. Des modèles plus anciens utilisaient des capteurs supplémentaires (comme le Leap Motion).
-
Visage : certains casques VR proposent également des fonctions de suivi du visage (face tracking) et de ses sous-parties, comme le suivi de la bouche (mouth/lip tracking) en autre.
Il existe bien sûr d'autres types de contrôleurs et capteurs plus exotiques, mais ceux-ci reprennent la plupart du temps l'un des principes ci-dessus pour fonctionner.
Les textes et concepts de ce chapitre sont tirés du cours VR de Nicolas Chabloz.
-
Cinétose (mal des transports) : se produit la plupart du temps lorsque le déplacement visualisé est décalé de celui de l'utilisateur.
-
Espace restreint : l'utilisateur n'a souvent qu'une petite partie de pièce (entre 1 et 3 m2), alors que l'espace virtuel est d'une taille quelconque.
-
Obstacles : l'espace réel peut contenir des obstacles qui seront invisibles en VR. Pour le moment, quasi tous les systèmes VR utilisent un système de chaperon qui permet de faire apparaître des murs virtuels prédéfinis dans l'espace VR lorsque l'utilisateur s'en approche.
Une des principales règles pour éviter ce problème et de ne jamais prendre le contrôle de la caméra (et donc de la laisser être contrôlée par le système de positionnement du casque VR).
Si l'on veut tout de même déplacer l'avatar de l'utilisateur (et donc sa caméra) dans la VR sans que celui-ci se déplace dans la réalité, il va falloir trouver des astuces pour le faire de la manière la plus confortable possible. Le critère de confort se retrouve d'ailleurs dans la plupart des magasins d'applications VR (par ex. dans l'oculus store). Voilà quelques exemples de solutions :
Elle ne provoque généralement pas d’inconfort, mais elle peut casser l’immersion si elle n'est pas scénarisée dans l'application.
Si les déplacements sont faits via un simulateur de véhicule (voitures, avions, vaisseaux spatiaux, etc.), les risques de cinétose sont fortement réduits. En effet, le mal du voyage atteint rarement celui qui est maître du véhicule, mais plutôt ses passagers.
Pour éviter l'inconfort avec des déplacements libres, il est nécessaire d'utiliser des artifices. Le jeu Raw Data utilise un système de sprint (ou dash) très rapide et très proche de la téléportation. L'effet est quasi identique, mais brise moins l'immersion. Toutefois, pour que cela ne provoque pas trop la cinétose, la vision doit être floutée autour de la zone fovéale.
Si l'espace VR est de taille identique (ou plus petit que l'espace réel), la solution est simple. Il suffit à l'utilisateur de se déplacer dans la réalité pour être déplacé dans la VR de manière identique en utilisant simplement le système de positionnement du casque.
Même si l'espace VR est plus grand que l'espace réel, il existe quelques méthodes (astuces) pour éviter de devoir déplacer la caméra de l'utilisateur ou d'utiliser des mécanismes de téléportation. En voici quelques-une :
-
Marche redirigée: il s'agit de fausser la perception de l'esprit avec un décalage des mouvements réels/virtuels (Redirect walking).
-
Suites de mouvements adaptées à l'univers : pensés pour que l'utilisateur revienne sur ses pas, et reste dans un espace restreint (identique à son espace réel). Ce peut être fait avec l'utilisation d'ascenseurs, des techniques de chevauchement d'espaces (voir image), ou autres astuces (désorientations, distances faussées, etc.). L’expérience Unseen Diplomacy reprend quelques-unes de ces idées.
-
Drag and drop : Dans l'application Google Earth VR, au lieu de téléporter l'utilisateur vers sa destination, on effectue un "drag" de la destination jusqu'à sa position désirée, ainsi l'utilisateur ne bouge pas, mais c'est la terre qui bouge sous ses pieds (Chuck Norris facts !).
Bien sûr, les techniques décrites précédemment peuvent être combinées.
WebXR est un groupe de standard et une API conçus pour supporter la VR et l'AR sur le web. Cette technologie utilise WebGL pour ses rendus 3D.
WebXR utilise un système de coordonnées cartésien en mètres et représente le monde comme un cube de 2m x 2m dont l'origine est au centre.
Ce système local est appelé espace de référence et est calculé à partir d'un espace donné (en l'occurence, l'environnement de l'utilisateur).
Si vous voulez allez plus loin, n'hésitez pas à lire Geometry and reference spaces in WebXR et WebGL model view projection
Pour vous donner une idée de ce qui a déjà été fait et ce qu'il est possible de faire, voici quelques exemples de projets mélangeant ces 2 projets.
Prototype de jeu permettant d'importer des données GIS comme des bâtiments et des arbres, et de les placer dans un environnement VR. Réalisé sur Unity pour le SITN.
Visualisation du projet d'urbanisme des Grands Esserts (GE) par Pixalab.
Projet de recherche de la HSLU qui visait à étudier la pertinence de l'utilisation de la VR et l'AR comme moyen de communication dans l'urbanisme.