Cours VR - Polycopié PDF

Document Details

SofterHippopotamus4553

Uploaded by SofterHippopotamus4553

Université des Sciences et de la Technologie Houari Boumediène

Dr. OURAHMOUNE AMEL

Tags

réalité virtuelle conception environnement virtuel modélisation 3D interaction

Summary

Ce polycopié du cours de Réalité Virtuelle présente les bases de la conception d'environnements virtuels, y compris la modélisation 3D, l'interaction et la détection de collisions. Le document couvre aussi des concepts de réalité augmentée et diverses technologies et outils disponibles. Il est destiné à des étudiants de Master Informatique visuelle.

Full Transcript

République Algérienne Démocratique Et Populaire Ministère De L'enseignement Supérieur Et De La Recherche Scientifique Université des sciences et de la technologie Houari Boumediene Faculté d’informatique et électronique...

République Algérienne Démocratique Et Populaire Ministère De L'enseignement Supérieur Et De La Recherche Scientifique Université des sciences et de la technologie Houari Boumediene Faculté d’informatique et électronique Master Informatique visuelle Polycopie du cours Réalité Virtuelle Conçu par : Dr. OURAHMOUNE AMEL Table des matières 1 Les bases pour la conception d'un environnement virtuel iii 1.1 Présentation et besoin.............................. iii 1.1.1 Dénitions................................ iii 1.1.2 Applications de la réalité virtuelle................... iv 1.1.3 Les concepts de base de la réalité virtuelle............... iv 1.2 Conception d'un environnent virtuel....................... vi 1.2.1 Dénition de la scène virtuelle et modélisation d'objets 3D...... vi 1.2.2 Interaction................................. ix 1.2.2.1 La navigation......................... x 1.2.2.2 la Sélection et la Manipulation................ xiii 1.2.2.3 Le contrôle d'application.................... xvi 1.2.3 Détection de collision.......................... xvii 1.2.3.1 Pipeline de détection de collision............... xvii 1.2.3.2 Autres approches d'accélération............... xxiii 1.2.3.3 Réponse à la collision..................... xxiv 1.3 Conclusion..................................... xxvii 2 Les périphériques de la réalité virtuelle xxix 2.0.1 Technologie d'actionneurs pour retour d'eort............. xxix 2.1 Les périphériques d'achage pour la RV.................... xxxii 2.2 Classication des techniques d'achage :.................... xxxiii 2.2.1 Achage semi-transparent........................ xxxiii 2.2.2 Achage tête-haute avec miroir diélectrique.............. xxxiv 2.2.3 Achage tête-haute par guide d'ondes................. xxxiv 2.2.4 Achage avec diodes électroluminescentes transparentes....... xxxiv i TABLE DES MATIÈRES 2.2.5 Achage fenêtre sur le monde...................... xxxv 2.2.6 Achage projeté............................. xxxv 2.3 La stéréoscopie.................................. xxxv 2.3.1 Technique de stéréoscopie........................ xxxvi 3 La réalité virtuelle distribuée xxxviii 3.1 Etat partagé.................................... xxxviii 3.2 Etude de cas : jeux en réseau.......................... xlii 3.2.1 Les jeux de stratégie temps-réel (RTS)................. xliii 3.2.2 Les jeux à la première personne FPS.................. xliv 3.2.3 Les jeux de rôle massivement multi joueurs MMORPG........ xliv 3.3 Conslusion..................................... xlvii 4 La réalité augmentée xlviii 4.1 Dénition..................................... xlviii 4.2 Classication de la Réalité augmentée..................... xlix 4.2.1 Classication fonctionnelle........................ xlix 4.3 Les technologies d'achage............................ li Bibliographie liii 5 Annexe lxiii 5.1 VTK Visualisation ToolKit............................ lxiii ii Table des gures 1.1 Le triangle de la réalité virtuelle [Fuchs (2006)]................. v 1.2 Processus de conception d'un environnement virtuel.............. vi 1.3 Taxonomie des représentations de modèles 3D [Fuchs (2006)].......... vii 1.4 (Gauche) : Objet représenté à l'aide de CSG (Constructive Solid Geometry). (Milieu) : Objet représenté à l'aide de fonctions implicites. (Droite) : Surface de type NURBS [Jesse et al (2007)]....................... viii 1.5 Code python avec VTK pour construire une forme CSG............ ix 1.6 Les péripherique de marche pour la réalité virtuelle.............. xi 1.7 Le péripherique de marche KAT walk https ://www.kat-vr.com....... xii 1.8 Suivie de l'utilisateur par Kinect Azure https ://azure.microsoft.com.... xii 1.9 La métaphore d'interaction main virtuelle [Ouramdane et all (2009)]..... xv 1.10 La métaphore d'interaction rayon virtuel [Ouramdane et all (2009)]..... xv 1.11 La technique d'interaction d'HOMER [Ouramdane et all (2009)]....... xvi 1.12 Le controle d'application [Ouramdane et all (2009)].............. xvi 1.13 Les articulations détectées avec la Kinect V2.................. xvii 1.14 Code C++ qui permet d'extraire la position des articulations de la main avec SDK Kinect V2................................... xviii 1.15 Script C qui permet d'implémenter la marche d'un personnage sur UNITY avec le périphérique clavier............................ xix 1.16 Le pipeline de la détection de collision, Narraw Phase (Détection grossière), Broad Phase (Détection Etroite) et Exacte Phase(Détection Exacte)[Hamada (1996)]. xx 1.17 Diérents types de structures de subdivision spatiale [Jesse et al (2007)]... xxi 1.18 Détection de collision avec boite englobante capsule sous Unity3D....... xxiii 1.19 Schéma général d'un environnement virtuel avec retour haptique....... xxvi iii TABLE DES FIGURES 1.20 Une partie du code C++ pour un retour d'eort par pénalité sur Falcon @Novint....................................... xxviii 2.1 HaptiX[HAP].................................... xxx 2.2 ManusVR[MAN].................................. xxx 2.3 Virtuose [FCS]................................... xxxi 2.4 Falcon avec une prise en main échangeable [NOV]................ xxxi 2.5 SPIDAR-G..................................... xxxii 2.6 Système a cable.................................. xxxii 2.7 iFeel [LOG]..................................... xxxii 2.8 Les Achages de la réalité virtuelle [Jesse et al (2007)]............ xxxiii 2.9 Les Achages montés sur la téte [Jesse et al (2007)].............. xxxiii 2.10 L'achages projeté rétinien........................... xxxv 2.11 Les paralex de la stéréoscopie.......................... xxxvi 3.1 Etat Partagé[Torguet 2014]............................ xxxix 4.1 Taxonomie technique [Fuchs et al.(2010) ].................... li 4.2 Les achages de la RA [Fuchs et al.(2010) ]................... li 4.3 Augmentation par objet 3D avec SceneView de ARcore sous Android studio. lii 4.4 Rendu résultat................................... lii iv Résumé Le présent cours de réalité virtuelle présente aux étudiants les méthodes nécessaires à la conception d'un environnement virtuel local ou distribué. La conception d'un environnement virtuel commence par la dénition de la scène virtuelle et donc la modélisation 3D des objets qui la constituent mais aussi de dénir leurs natures et leurs cinématiques. Un environnement virtuel est interactif, il est nécessaire de dénir le type d'interaction en fonction de l'objectif de l'environnement virtuel ciblé. Par conséquent, les modèles qui habitent la scène virtuelle peuvent rentrer en collisions. C'est pourquoi, il existe diérentes méthodes de détection de collisions entre les objets de la scène virtuelle, le choix de la méthode dière en fonction de la complexité de la scène et de la réponse à la collisions souhaitée. La réponse à la collision est liée au matériel utilisé nous citons à titre d'exemple la réponse à la collision haptique qui nécessite un joystique à retour d'eort. Le cours présente les outils technologiques (périphé- riques, achage et suivie) a l'état actuel pour permettre a l'étudiant de proposer une bonne conception de l'environnent virtuel souhaité. Le cours introduit les notions liées à la réalité augmentée en mettant l'accent sur le lien entre la réalité virtuelle et augmentée. i Introduction Générale L'avènement technologique actuel a conduit au développement du domaine de la réa- lité virtuelle. En eet l'avancée technologique en terme de matériels (console, casque VR, Écrans...) mais aussi de plateformes logiciels de développement (moteurs de jeux, Biblio- thèque logiciel...) quelle soit gratuites ou payantes contribuent a l'eervescence de la réalité virtuelle. D'autres part, la réalité virtuelle connait un réel intérêt de la part des utilisateurs. Les jeux virtuels de divertissement qu'ils soient en réseau ou en local prennent une part conséquente du marché du logiciel. Sans oublié les jeux sérieux à intérêt ludique et les si- mulateurs virtuels de gestes techniques pour but d'apprentissage dans diérents domaines : astronomie, militaire ou même médical. Chaque étape de la conception de l'environnement virtuel est détaillée dans une section a part. Étant donné de l'ampleur actuel des applications de réalité augmentée, et a n de donner la possibilité a l'étudiant de concevoir une application de réalité augmentée, le cours comprend un chapitre introductive à la réalité augmentée. Le cours est présenté en respectant le plan du suivant : 1. La réalité virtuelle présentation et besoins 2. La modélisation géométrique 3. Les Technique d'interaction - détection et réponse à la collision 4. Les périphériques de la réalité virtuelle 5. Les achages de la réalité virtuelle 6. La réalité virtuelle distribuée et mobile 7. Les systèmes de suivie pour la RV 8. Introduction à la réalité augmentée ii CHAPITRE 1 Les bases pour la conception d'un environnement virtuel 1.1 Présentation et besoin Grâce à l'avènement technologique, les outils informatiques prolifèrent ce qui a donné avantage a une nouvelle modalité de représentation des objets ainsi qu'à leur interaction. Le monde du virtuel est mis en avantage dans plusieurs domaines d'applications, en parti- culier dans l'enseignement du geste technique. L'interaction avec le monde virtuel est rendu possible grâce à des dispositifs dites joysticks. Ces dispositifs assurent l'immersion dans le monde virtuel en passant par tous les sens (vision, odorat, l'ouïe, le touché, le retour de force) impliqués dans l'expérience réelle. La réalisation d'un environnement virtuel est de- venu accessible grâce aux outils logiciels, bibliothèques de visualisation comme OpenGL et VTK mais aussi les moteurs de jeux tel-que UNITY3D et UnrealUngine. 1.1.1 Dénitions Un environnement virtuel est un système de simulation qui permet à un ou à plusieurs utilisateurs d'accomplir certaines tâches en ayant l'impression d'être dans un cadre spéci- que représenté par un lieu virtuel. L'environnement virtuel se traduit par un model 3D de données réelles ou imaginaires que nous pouvons visualiser et avec lesquelles nous pouvons interagir en temps réel [Schon (1994)]. iii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Initialement, le terme environnement virtuel fut introduit par l'équipe de recherche du Massachusetts IT au début des années 90 comme synonyme de réalité virtuelle. Le terme réalité virtuelle quant à lui fut présenté en 1986 par Jaron Lanier à la communauté scienti- que. Il l'a déni en 1988 comme une réalité synthétique partageable à l'aide de technologie informatique qui implique une immersion sensorielle [Levine et al.(2013)]. Depuis plusieurs autres dénitions ont été attribuées à la réalité virtuelle. Nous avons retenu celle donnée par Grigore Burdea : Un système de réalité virtuelle est une interface entre l'homme et la machine capable de créer une expérience sensorielle en temps réel avec le monde articiel à travers les diérents canaux sensoriels tels que la vision, l'audition, le toucher, l'odorat [Lanier (1998)]. 1.1.2 Applications de la réalité virtuelle De nos jours, la réalité virtuelle a touché tous les domaines. Bien que les premières tentatives et les plus grandes prouesses sont attribuées au domaine militaire, les technologies de la réalité virtuelle continues à être exploitées dans plusieurs domaines tel que l'aérospatial et l'aéronautique, jeux et loisir, l'architecture et le design, ainsi que pour la visualisation de données scientiques comme la biologie moléculaire. Nous pouvons aussi citer les exemples d'applications suivantes : - Apprentissage à l'examen echographique [Moore (2019)]. - Jeux Ultima [ULT]. - Application en psychothérapie pour vaincre les phobies ou pour l'aide à la réinsertion des malades dans le monde réel[Klinker (2006)]. - Télé présence, utilisation de système robotisé maître/esclave pour chirurgie à distance ou bien pour la télé échographie[Delgorge et al.(2005)]. 1.1.3 Les concepts de base de la réalité virtuelle A partir des dénitions de la réalité virtuelle présentées a la section 1.1.1, nous retenons que : - l'environnement virtuel comme la réalité virtuelle est basé sur les notions d'immersion, d'interaction et de perception (voir gure ??). iv CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL - L'immersion est dénie par la sensation d'être ou d'habiter dans l'espace virtuel. La géné- ration du son améliore l'immersion de l'utilisateur et augmente le réalisme de l'application. La génération du toucher et du retour d'eort est un facteur important pour une bonne immersion dans le cas où l'environnement virtuel à modéliser requiert un retour d'eort à travers une interface haptique. L'interaction qualie la possibilité de se déplacer dans l'espace virtuel et dont mani- - puler les objets en ayant une perception immédiate des actions pour un rendu en temps réel. Figure 1.1  Le triangle de la réalité virtuelle [Fuchs (2006)]. Suivant les besoins de l'application, le niveau d'immersion, d'interaction et de perception est ajusté, il peut être sensori-moteur ou cognitif [Fush (1999)]. Niveau sensori-moteur Dans ce niveau, la perception passe par la médiation des sens car la qualité des rendus sensoriels et de leurs synchronisations est primordiale. En eet, ce niveau est basé sur une animation temps réel. L'application doit exploiter la médiation de l'action et s'assurer de la réactivité du modèle à l'aide de manipulations adaptées. Le simulateur de vol est un exemple d'une application de réalité virtuelle sensori-motrice. Niveau cognitif Dans ce niveau la perception passe par la médiation de l'esprit. En eet une application de réalité virtuelle à ce niveau permet aux utilisateurs de modier le modèle, ces derniers dis- posent d'une expressivité équivalente au modeleur. Nous pouvons citer à titre d'exemple les v CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL applications de conguration partielle d'un système opérationnel, de prototypage interactif, ou de modélisation en ligne. 1.2 Conception d'un environnent virtuel La conception d'un environnement virtuel est un processus qui commence par la dénition de la scène virtuelle, la modélisation des objets 3D, la spécication de leurs natures et leurs cinématiques. Le processus ce poursuit par la dénition de la nature des interactions et la détection de collision entre les objets en interaction. La réponse à la collision est étroitement lié aux matériels d'interaction utilisés. La gure 1.2 présente les étapes a suivre pour la conception d'un environnent virtuel. Figure 1.2  Processus de conception d'un environnement virtuel 1.2.1 Dénition de la scène virtuelle et modélisation d'objets 3D La scène virtuelle est une collection d'objets virtuels de modèles et de comportements qui varient selon la nature de l'application virtuelle, son objectif et le prol des utilisateurs à qui l'application est destinée. An de concevoir une scène virtuelle il est important de la modéliser en concevant ses objets et de gérer l'interaction entre eux en dénissant le type de retour vers l'utilisateur souhaité. La modélisation de la scène virtuelle comprend la dénition des objets habitants la scène vir- tuelle, leur nombre et le type de cinématique appliquée. La gure 1.3 présente une taxonomie des diérentes modélisations possibles pour les objets 3D. La gure 1.3 dénit deux modèles de représentation pour les objets 3D, les modèles po- lygonaux et les modèles non polygonaux. Les modèles non polygonaux comprennent : - les CSG (Constructive Solid Geometry) où le modèle est construit à base de primitives géométriques (sphère, cube, cylindre... ) combinées par des fonctions mathématiques. vi CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.3  Taxonomie des représentations de modèles 3D [Fuchs (2006)]. - Les surfaces implicites sont dénies à l'aide de fonctions implicites R3 dans R tel que F(x,y,z)=0. - Les surfaces paramétriques représentent une description des frontières des surfaces seule- ment. Les modèles polygonaux ont une représentation à base de polygones, c'est la représenta- tion la plus utilisée principalement grâce à sa simplicité mathématique. Ils peuvent être non structurés en soupe de polygones ne possédant aucune information topologique, ou structurés qu'ils soient convexes ou non-convexes. Les modèles non-convexe peuvent être représentés en une décomposition d'objets convexes. Il est à noter que la plupart des modèles non poly- gonaux sont convertibles en modèles polygonaux. Chaque objet de la scène virtuelle peut être rigide, déformable ou uide. La maintenance des objets déformables est plus couteuse en temps de calcul que les objets rigides, ceci est dû à la constante mise à jour de leur forme. Le nombre d'objets en mouvement détermine la méthode de gestion des mouvements. Dans le cas où la scène virtuelle comprend un seul objet en mouvement on parle de méthode 2- vii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.4  (Gauche) : Objet représenté à l'aide de CSG (Constructive Solid Geometry). (Milieu) : Objet représenté à l'aide de fonctions implicites. (Droite) : Surface de type NURBS [Jesse et al (2007)] body où le contact n'est possible qu'entre l'objet en mouvement et le reste de la scène. Les applications haptiques en sont un exemple où l'objet en mouvement est manipulé à travers un joystick à retour de force. Par contre, dans le cas où il existe plusieurs objets en mouve- ment on parle de méthode n-body qui est plus coûteuse en temps de calcul. Exemple de modèles géométrique Nous citons à titre d'exemple des formes géométriques simples générées à l'aide d'une bi- bliothèque de visualisation VTK Visualisation Tools Kit (https ://vtk.org/). Noter que une sphère est dénie par un centre et un rayon, un cube est déni par la taille de l'arrête. Ces deux formes simples ont donné naissance à une forme plus complexe en CSG à l'aide d'une fonction mathématique booléenne tel que explicité en gure 1.5. Le code complet en VTK est présenté en TP. Nous pouvons modéliser un objet 3D de diérentes façons : viii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.5  Code python avec VTK pour construire une forme CSG. 1. Modélisation à partir d'image 2D. 2. Modélisation procédurale (par écriture de code). 3. Modélisation interactive en utilisant des logiciels de modélisation 3D tel que Blender (https ://www.blender.org/), 3DSmax (https ://www.autodesk.eu/) mais aussi la conception d'avatar avec MakeHuman (http ://www.makehumancommunity.org/). Des objets 3D diérents peuvent être téléchargés sur des plateformes dédiées tel que l'Asset store de Unity 3D (https ://assetstore.unity.com/). Atelier : formez des groupes de 5 personnes et proposez une modélisation adaptée pour un bâtiment historique. 1.2.2 Interaction La modélisation d'un environnement virtuel nécessite une virtualisation précise des phé- nomènes physiques concernés. C'est pourquoi, il est important de bien gérer le déplacement de ces objets, leur interaction, d'éventuel contact entre eux et de dénir la réaction de la scène virtuelle suite à ce contact. Une technique d'interaction désigne la méthode qui permet d'eectuer une tâche d'inter- ix CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL action dans un environnement virtuel [Hachet (2003)]. [Foley et al.(1996) ] considèrent celle-ci comme la manière d'utiliser un périphérique pour accomplir une tâche sur un ordinateur. [Min 1995] propose la première classication basée sur quatre tâches fondamentales : la navigation, la sélection, la manipulation et la mise à l'échelle ainsi que le contrôle applica- tion : menus virtuels. 1.2.2.1 La navigation Comme dans le monde réel, l'utilisateur a besoin de se déplacer dans la scène virtuelle pour réaliser certaines tâches. L'action  se déplacer  va : - de bouger sa tête pour observer un objet de plus près ou d'un autre angle, - à se promener dans un parc ou visiter un musée, - se déplacer d'une planète à une autre. Nous pouvons conclure que la navigation désigne l'ensemble des méthodes qui permettent de connaître la position d'un objet par rapport à un système de référence, ou par rapport à un point xe déterminé. - Le déplacement représente la composante motrice de la navigation. Il se rapporte aux dé- placements physiques de l'utilisateur d'un endroit à un autre. - La recherche d'itinéraire correspond à la composante cognitive de la navigation. Elle per- met aux utilisateurs de se repérer dans l'environnement et de choisir une trajectoire pour se déplacer [Fuchs (2003)]. [Bowman et al.(1997)] dénissent les facteurs à prendre en considération dans la concep- tion de toute technique de navigation :  La vitesse de déplacement (le temps d'achèvement d'une tâche de navigation) ;  La précision de l'exécution ;  La conscience spatiale (connaissance de l'utilisateur de sa position et de son orientation dans l'environnement virtuel pendant et après la navigation) ;  La facilité d'apprentissage (la capacité d'un utilisateur débutant à s'approprier la technique de navigation) ; x CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL  La facilité d'utilisation ;  La capacité de l'utilisateur à collecter des informations sur l'environnement pendant le déplacement ;  La présence virtuelle (le sentiment de l'utilisateur d'être immergé dans l'environnement virtuel) ;  Le confort de l'utilisateur. La navigation nécessite l'utilisation d'un périphérique adapté, la gure 1.4 présente des exemples de tapis VR, le Kat VR (https ://www.kat-vr.com/) est l'un des plus récents et les plus abordable (prix de vente 2021 est de 1500 dollars). Il aussi possible de suivre le mouve- ment de marche de l'utilisateur en utilisant des capteurs, soit en instrumentant l'utilisateur (exemple capteur Kat loco S) ou bien son environnement (exemple camera Azure Kinect https ://azure.microsoft.com/fr-fr/services/kinect-dk/ prix 2020 399 dollars) Figure 1.6  Les péripherique de marche pour la réalité virtuelle Les caractéristiques du déplacement : Un déplacement est caractérisé par la direction du mouvement et la vitesse du déplacement. A. La direction du mouvement Il existe plusieurs façons de déterminer la direction du mouvement : 1. Utilisation d'un joystique : la métaphore de la soucoupe volante [Butterworth (1992)]. 2. l'orientation de la tête : [Min 1995] : déplacer le point de vue de l'environnement vir- tuel dans la direction du regard de l'utilisateur qui est déterminé par les mouvements de la xi CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.7  Le péripherique de marche KAT walk https ://www.kat-vr.com Figure 1.8  Suivie de l'utilisateur par Kinect Azure https ://azure.microsoft.com tête, l'inconvénient c'est la diculté à regarder les coins. 3.Utilisation de la main : la métaphore du  tiré sur une corde  [Mapes 1995], la direction du mouvement est déterminée par l'orientation de la main de l'utilisateur.[Robinett 1992] [Bowman et al.(1995)] permet à l'utilisateur de se déplacer et regarder dans diérentes di- rections, l'inconvénient est que c'est dicile à apprend. 4. la direction du torse : détermine la direction du déplacement à l'aide de la direction du torse de l'utilisateur. [Bowman et al.(1995)] l'inconvénient est que c'est dicile à apprendre. 5. Le déplacement de l'icône : L'utilisateur est representé par une icône dans une carte xii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL 2D. Le déplacement de l'icône par un stylet jusqu'au nouvel endroit de la carte implique le déplacement de l'utilisateur au virtuel, [Darken et al.(1994)]l'inconvénient est que c'est dicile à apprendre. B. La vitesse de déplacement Le déplacement se caractérise par une vitesse instantanée qui peut être calculée de plusieurs manières diérentes : 1. La vitesse est calculée en fonction de l'écartement entre les deux mains : plus la distance est grande, plus le déplacement est rapide.[Min 1997] 2. La vitesse est calculée en fonction de la vitesse de la montée ou de la descente des genoux (inspiré de la marche réel) [Yan et al 2004] Les résultats sont meilleurs lorsque la métaphore utilisée pour la navigation est proche de la marche réelle, car la marche donne une meilleure sensation de présence et d'immersion. D'autre part, selon que l'on connaît ou non sa destination, la navigation peut être libre ou assistée. Dans le cas d'une navigation libre, l'utilisateur ne connaît pas précisément sa destination. Il se déplace dans l'espace dans le but de découvrir et d'explorer l'univers virtuel. Dans le cas d'une navigation assistée, l'utilisateur avance dans l'espace virtuel pour aller à un endroit bien précis qui représente la cible du déplacement. La téléportation déplace l'utilisateur d'une manière instantanée, l'inconvénient est que cela désoriente l'utilisateur car ne donne pas d'information sur la distance parcourue pendant le trajet. La solution est de faire parcourir virtuellement le chemin à l'utilisateur : faire voler l'utilisateur jusqu'à la destination. 1.2.2.2 la Sélection et la Manipulation Le processus de sélection en RV s'inspire souvent de la sélection dans le monde réel. La désignation d'un objet ou d'un ensemble d'objets et la validation comme presser un bou- ton, utiliser un geste ou encore utiliser une commande vocale an d'accomplir un objectif donné au sein de l'environnement virtuel. La manipulation est dénie comme un proces- sus complexe qui consiste à modier les propriétés d'un objet ou d'un ensemble d'objets xiii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL appartenant au monde virtuel. Ces propriétés sont, par exemple, la position, l'orientation, la couleur, l'échelle et la texture. La manipulation est directe quand l'utilisateur agit di- rectement sur l'objet appartenant à l'environnement virtuel. La manipulation est indirecte, quant l'utilisateur agit sur les composantes du monde virtuel par l'intermédiaire d'entités graphiques (boutons, menus 3D) ou matérielles. Il existe 2 techniques de sélection pour la manipulation : 1- les techniques exocentriques : pour lesquelles le monde virtuel est contrôlé depuis l'extérieur. L'utilisateur est considéré comme un acteur qui ne fait pas partie de la scène virtuelle, mais il a tout de même le pouvoir d'agir sur les entités du monde virtuel. nous pouvons citez 2 méthodes : - monde-en-miniature [Stoackley et al 1995] représentation d'un sous espace du monde virtuel désigné par l utilisateur. Pose le problème des objets petits à l'origine. - Poupées Vaudou : [Pierce et al.(1999) ] 2- les techniques égocentriques pour lesquelles l'utilisateur agit directement depuis l'inté- rieur de environnement virtuel. Cette dernière catégorie est composée de deux sous-familles : les techniques basées sur la métaphore de la main virtuelle et les techniques basées sur la métaphore du pointeur virtuel. La métaphore de la main virtuelle se divise en 2 : - la préhension : l'utilisateur utilise sa propre main pour sélectionner un objet virtuel, puis valide la sélection, soit en fermant le poignet, soit en restant en contact avec l'objet un certain temps. La technique est très simple, naturelle et intuitive. Cette technique pose le problème de la sélection des objets distants. - le gogo : technique d'extension du bras. Est Basée sur la métaphore de la main virtuelle, la position de la main virtuelle est calculée par une fonction non-linéaire, de sorte à ce que la main virtuelle aille plus loin que la main réelle après avoir atteint une certaine distance  seuil D . L'utilisateur dispose ainsi d'un bras virtuel plus long que son bras réel, lui per- mettant d'atteindre des objets distants. - le rayon virtuel : Le Ray-Casting est une technique de sélection basée sur la métaphore du rayon virtuel. Un rayon laser inni part de la main virtuelle et traverse tout le monde virtuel. Le premier objet intersecté dans le monde sera apte à être sélectionné. C'est une technique simple cognitivement et facile à utiliser, reste le problème pour la sélection des objets de petite taille ou distants si les objets éloignés deviennent petits avec la distance, alors l'outil de sélection doit être plus grand pour pouvoir les sélectionner facilement. Uti- xiv CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL lisation d'un cône avec l'angle d'ouverture du cône en fonction de la position des objets à sélectionner dans l'environnement virtuel. Un rayon exible peut être dirigé dans l'espace an d'éviter les obstacles. Figure 1.9  La métaphore d'interaction main virtuelle [Ouramdane et all (2009)] Figure 1.10  La métaphore d'interaction rayon virtuel [Ouramdane et all (2009)] - les techniques hybrides nous pouvons citer 2 techniques : la technique d'HOMER : allie la rapidité de la technique Ray-Casting pour la sélection et la précision de la technique Main Virtuelle simple pour la manipulation (Wloka et al., 1995) et la technique de changement d'échelle [Min 1997] utilise la technique direction du regard pour la sélection. Les objets sont diminués pour que l'utilisateur puisse les manipuler directement avec une autre métaphore. xv CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.11  La technique d'interaction d'HOMER [Ouramdane et all (2009)] 1.2.2.3 Le contrôle d'application Est une tâche qui permet d'exécuter une commande dans le but de changer le mode d'interaction et/ou l'état du système (exemple personnaliser le monde virtuel). L'utilisateur agit sur application en utilisant les services assurés par l'application elle-même tel que les menus. Figure 1.12  Le controle d'application [Ouramdane et all (2009)] Exemple de Navigation en utilisant la Kinect V2 La Kinect et grâce à ces capteurs couleurs et profondeur permet de suivre le squelette de l'utilisateur (gure 1.13). Le code suivant permet d'extraire les positions des articulations de la main moyennant le SDK de la Kinect V2 en C++ (gure 1.14). L'application sera vu en TP. xvi CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Exemple de navigation de marche avec le moteur de jeu UNITY3D La navigation peut être à la première ou à la troisième personne. Voici un scripte C sharp qui permet de faire marcher un avatar en utilisant les touches du clavier comme périphérique (gure 1.14). Un example de navigation complet sera vu en TP. Atelier : formez des groupes de 5 personnes et proposer une interaction adaptée la visite d'un site historique. Figure 1.13  Les articulations détectées avec la Kinect V2. 1.2.3 Détection de collision An de gérer l'interaction entre les objets virtuels et pour éviter leur l'interpénétration, il est nécessaire de détecter à tout instant les objets en contact sachant que l'interférence entre les objets de la scène dénit une collision. La méthode de détection de collision utilisée dépend de la nature des objets et de la réponse souhaitée à la collision. 1.2.3.1 Pipeline de détection de collision Suivant le nombre d'objets évoluant dans la scène virtuelle, la réponse souhaitée et la représentation des objets, la complexité de la détection de collision varie. An de réduire xvii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.14  Code C++ qui permet d'extraire la position des articulations de la main avec SDK Kinect V2. cette complexité, les algorithmes de détection de collision sont construits en pipeline à trois niveaux. Le pipeline (voir gure 1.16) de détection de collision se divise principalement en un niveau de détection grossière (au niveau de la scène) suivi par un niveau de détection étroite (au niveau des volumes englobants l'objet) et se termine par le niveau de détection exacte (Au niveau de l'objet). Nous les explicitions dans ce qui suit. A. Détection grossière La détection de collision grossière est basée sur une décomposition spatiale de la scène vir- tuelle et a comme objectif d'éliminer rapidement l'espace virtuel où l'interaction entre les objets est impossible, grâce à quoi elle sélectionne les pairs d'objets pouvant rentrer en colli- sion. Elle comprend les méthodes de partitionnement de l'espace, les méthodes topologiques et les méthodes cinématiques. Méthodes de partitionnement spatial. Deux objets distants ne peuvent être en colli- sion, c'est pourquoi cette méthode propose de diviser l'espace en unité uniforme ou hétéro- gène tel que les voxels [Derek (1996)], les octree [Bandi and Thalmann(1995)], les quadtree, les K-d tree [Bentley and Friedman (1979)] ou encore les BSP Binary Space Partitioning [Thibault and Naylor(1987)] (voir gure 1.17). La méthode indique qu'il y'a collision s'il existe une unité appartenant à plus d'un objet. Ces méthodes s'adaptent bien au corps déformable. xviii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.15  Script C qui permet d'implémenter la marche d'un personnage sur UNITY avec le périphérique clavier. Méthodes topologiques. Ces méthodes exploitent l'information sur la position des objets les uns par rapport aux autres. Sweep and Prune[Cohen et al (1995)] est l'une des approches la plus connue et la plus utilisée, elle xe les contours pour obtenir un contour global de chaque objet (boîte englobante). Ces contours sont alignés sur les axes X, Y et Z, ensuite il sut de vérier si une éventuelle intersection sur tous les axes existe, dans ce cas la méthode indique qu'il y' a collision entres les objets correspondants, elles s'adaptent bien au corps déformable. Méthodes cinématiques. Ces approches tiennent compte du mouvement des objets, si deux objets se déplacent vers des directions opposées, ils ne peuvent pas rentrer en collision. Vanecek [Vaneecek and Back-face (1994)] a utilisé la cinématique des objets couplée à une méthode de ltrage des faces cachées pour accélérer la détection de collision. xix CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.16  Le pipeline de la détection de collision, Narraw Phase (Détection grossière), Broad Phase (Détection Etroite) et Exacte Phase(Détection Exacte)[Hamada (1996)]. B. Détection étroite Méthodes de force brute. Cette approche se base sur la comparaison de l'ensemble des volumes englobant des objets an de savoir s'ils sont ou non en collision. Les volumes en- globant peuvent être des sphères, les boîtes englobantes alignées sur les axes [Bergen 1997] (AABB), les boites englobantes orientées [Gottschalk et al.(1996) ] (OBB), des k-DOP, des cônes, des cylindres et autres. Elles sont compatibles avec les objets déformables. L'algorithme consiste à déterminer les objets les plus proches. Cette phase est réalisée avec la détermination des éléments caractéristiques les plus proches (sommet, arrête, facette) ensuite calcule la distance euclidienne entre les 2 polyèdres. Si la distance est positive alors aucune intersection n'est possible dans le cas contraire la méthode arme l'existence d'une inter- section. Trois méthodes existent pour déterminer les objets les plus proches, deux d'entre elles procèdent par un calcul incrémental de la distance entre objets polygonaux convexes obtenue en utilisant la distance calculée à l'instant précédent. La troisième par contre, utilise les frontières du polyèdre pour déterminer la distance minimale. Détection de collision par calcul de distance euclidienne entre 2 boites englo- xx CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.17  Diérents types de structures de subdivision spatiale [Jesse et al (2007)] bantes circulaires var circle1 = radius : 20, x : 5, y : 5 ; var circle2 = radius : 12, x : 10, y : 5 ; var dx = circle1.x - circle2.x ; var dy = circle1.y - circle2.y ; var distance = Math.sqrt(dx * dx + dy * dy) ; if (distance < circle1.radius + circle2.radius) // collision détectée ! Algorithmes basées caractéristiques. Cette famille d'algorithmes calcule la distance entre les primitives (facettes, arêtes et sommets). Le premier algorithme fut proposé en 1991 par Lin et Canny [Lin and Canny 1991] appelée l'algorithme Lin et Canny (LC) ou Voronoi marching. Il divise l'espace autour des objets en régions de Voronoi ce qui permet de pouvoir détecter quelles sont les primitives les plus proches entre deux polyèdres. Algorithmes basées simplex l'algorithme le plus célèbre de cette famille est celui du GJK xxi CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Gilbert, Johnson et Keerthi (GJK) [Gilbert et al 1998] qui utilise la diérence de Minkowski sur les polyèdres. Deux objets convexes sont en collision si et seulement si leur distance de Minkowski contient l'origine du repère dans lequel ils sont projetés. Plusieurs extensions de l'algorithme de GJK ont été proposées pour des applications spéciques. Nous pouvons citer à titre d'exemple Enhensed GJK (EGJK) [Cameron 1997], Joukhadar et Laugier (JL) [Joukhadar et al 1996], SOLID [Van 1999]. C. Détection exacte La détection de collision exacte est basée sur une décomposition d'objets. Elle consiste en la sélection des entités exactes en collision si celles-ci existent. Elle détermine aussi dans ce cas le degré approximatif d'interférence entre les objets en collision. Cette étape permet de calculer de façon exacte les entités en collision une fois qu'une approximation de la zone de contact est eectuée. Cette approximation est représentée par une liste de couples de feuilles des hiérarchies. Algorithmes basées volumes englobant construit une hiérarchie de volumes englobant, elle identie les régions ou une collision peut se produire. Le but de cette étape dans l'al- gorithme de détection de collision est de localiser rapidement la zone de collision. Ce type de hiérarchie permet de représenter les diérents volumes englobant d'un objet sous forme d'arbre Axis Aligned Bounding Boxes (AABB) [Van 1997], les Oriented Bounding Boxes (OBB) [Lanier (1998)] ou les sphères [Joukhadar et al 1996] en arbre binaire, quadtree, oc- tree et autres an de réduire le nombre de tests à mettre en ÷uvre. Plus récemment, les auteurs dans [Liu et al.(2017) ] ont proposé une adaptation de la détection de collision par boites emglobante adaptées à la forme de l'objet traité, l'algorithme est parallélisé à n de réduire le temps de calcul. Algorithmes basées image. Ce type d'algorithme fonctionne en utilisant les requêtes d'occultation dans l'espace image et est bien adaptés à l'utilisation sur carte graphique [Baciu and Wong 2004]. Remarque : Notez que les moteurs de jeux adoptent une détection de collision en Boites Englobantes, la forme de la boite est choisi de sorte a être la plus proche de la forme de l'objet. Le moteur de jeu ore la possibilité de choisir la boite englobante et dénir le niveau de détection de collision par paramétrage sans écrire du code. La gure 1.15 présente une xxii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL détection de collision avec boite englobante sous forme de capsule car adaptée à la forme de l'avatar, le niveau de détection de collision est à préciser selon la nature de l'application. Les propriétés physiques peuvent être ajoutées tel que la rigidité et la gravité. Figure 1.18  Détection de collision avec boite englobante capsule sous Unity3D. 1.2.3.2 Autres approches d'accélération Plusieurs tentatives d'accélération du temps de calcul sont apparues tant exploitant l'évo- lution du matériel que des bibliothèques. A. utilisation du matériel Les GPU Graphics Processing Unit ont connu une grande évolution en puissance de calcul ces dernières années, ce qui permet un traitement hautement parallélisable mise à prot pour l'accélération des calculs de détection de collision. On peut citer, l'approche espace image [Heidelberger et al (2004)], l'implémentation de la broad phase sur GPU [Govindaraju et al 2005], implémentation du lancer de rayon sur GPU [Lanier (1998)], Govindaraju et al. [Knott and Pai 2003] détectent des auto-collisions pour l'animation d'objets déformable. Aussi l'apparition de l'architecture multi-c÷urs donne naissance au concept many-c÷urs qui adapte l'utilisation des c÷urs en fonction du besoin. Des approches de détection de col- lision sur l'architecture multi-c÷urs ont vu le jour, nous pouvons citer la proposition de [Govindaraju et al 2005] qui implémente un algorithme à cohérence temporelle pour objets déformable sur une architecture à 8-coeurs. Dans [Tang et al 2008], une méthode est proposée xxiii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL pour l'assignement dynamique des tâches pour adaptation hiérarchique d'une détection de collision en volume englobant, [Kim 2008] propose de paralléliser une simulation physique in- teractive sur un processeur à 16-c÷urs, [Hermann et al 2009] implémente l'algorithme sweep and prune sur une architecture multi-c÷urs. B. utilisation du software Le GPGPU General-purpose Processing on Graphics Processing Unit accélère le temps de calcul en implémentant des calculs auparavant destinés au CPU, des langages comme Book, CUDA (Compute Unied Device Architecture) et OpenCL (Open Computing Language) permettent de faire des calculs parallèles sur GPU. La programmation parallèle connait son plein essor avec l'architecture multi-c÷ur, OpenMp utilisé dans [Hermann et al 2009], Intel Threading Building Blocs TBB[Avril et al 2009] sont des outils pour la programmation pa- rallèle mise à prot pour l'accélération des processus de détection de collision. [Reinders 2007] propose aussi une parallélisation du pipeline de détection de collision où il propose d'exécuter la détection étroite sur une architecture multi-c÷urs à l'aide du multi- threading et d'exécuter la détection exacte sur plusieurs GPU en parallèle. Les auteurs dans [Tang and Wang 2011] proposent une nouvelle étape se situant entre la Broad phase et la Narrow phase où avant chaque test élémentaire, ils appliquent deux ltres successifs. Le premier est un ltre linéaire réduisant les coordonnées des éléments dans R tandis que le second est un ltre planaire dans R2. Cette technique permet d'élaguer très largement les tests élémentaires à eectuer et ainsi de réduire signicativement le temps de calcul. Nous pouvons aussi citer la plateforme OpenMask [Margery 2002] qui ore un compromis entre le calcul haute performance, l'abstraction et la modularité des programmes de réa- ? lité virtuelle de tous types. FlowVR [Hermann et al.2010][ ] est un middleware spécialement conçu pour les applications de réalité virtuelle distribuées sur architectures de types grilles ou clusters. Un ordonnancement à deux niveaux est proposé dans [Wang et al 1992] associant un partitionnement du graphe de tâches et une technique de vol de tâches. 1.2.3.3 Réponse à la collision Suite à une détection de collision entre objets virtuels, la réponse peut être booléenne (oui/non), une mesure de distance de séparation entre objets, une identication des surfaces en interaction, un volume d'interaction ou un vecteur d'extraction. L'environnement virtuel xxiv CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL évolue après une collision, il peut émettre un son, engendrer des phénomènes physiques liés aux propriétés mécaniques des objets en collision, des objets déformables changent de topologie et produit une force de séparation et un changement de la vitesse de ces objets. Les forces calculées sont retransmises à l'utilisateur via une interface haptique, nous étudions dans ce qui suit la réalité virtuelle avec retour de force. Exemple de réponse à la collision : le retour d'eort Il existe 3 types de retour d'eort : -Le retour d'eort passif : ce type considère l'objet virtuel comme identique au réel et modélise les forces générés entre les objets du monde réel. -Le retour pseudo-haptique : ce type exploite l'illusion sensorielle entre le toucher et la vue ou l'odorat. Dans le cas ou le périphérique à retour d'eort n'est pas disponible ce qui compense le retour d'eort par un autre sens. -Le retour dissipatif ou le retour hap- tique actif : utilise une interface haptique pour renvoyer à l'utilisateur des informations de type retour tactile ou kinesthésique par simulation ; c'est le type le plus employé. La création d'un environnement virtuel capable de simuler des phénomènes physiques plus ou moins réalistes et de calculer des forces nécessite l'utilisation d'interface haptique. Le moteur physique est chargé de calculer les forces à transmettre à l'interface haptique. Le mé- canisme général de l'environnement virtuel avec retour de force est illustré par la gure 1.19. La conception d'un environnement virtuel avec retour d'eort passe par les étapes suivantes en boucle : 1. Acquisition de la position de l'eecteur par les capteurs de position de l'interface suivie par le rafraichissement de la position de l'objet manipulé dans l'environnement virtuel. 2. Détection de collisions entre l'objet manipulé ou sa représentation par un avatar, un doigt ou une main et les autres éléments de la scène virtuelle. 3. Calcul du retour d'eort dans le cas d'une collision, le moteur physique de l'environnement virtuel calcule la force de réaction. 4. Envoi des consignes de forces à l'interface haptique qui applique les courants nécessaires aux moteurs. L'utilisateur ressent alors l'eort grâce aux capteurs cutanés et kinesthésique sur la main. Ces informations sont ensuite transmises au cerveau et sont interprétées et tra- duites par des commandes renvoyés aux muscles de la main ce qui fait bouger l'eecteur. La réalisation d'un système à retour d'eort stable nécessite une mise à jour des éléments xxv CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.19  Schéma général d'un environnement virtuel avec retour haptique. de la scène virtuelle à une fréquence supérieure à 25hz, actuellement elle est autour des 60hz. La fréquence de détection de collision et du calcul de force doit être supérieure ou égale à 1000hz. Nous présentons dans ce qui suit les approches proposées dans la littérature qui quantient la force d'interaction et le changement de vitesse en empêchant l'interpénétra- tion d'objets et en garantissant la stabilité des forces de réaction ressenties par l'utilisateur. Approche par contrainte où la collision et le contact sont une contrainte géométrique ce qui solutionne le problème lié aux interactions et aux articulations [Bara 1992]. Ceci induit un système d'équations non-linéaires diciles à résoudre en temps réel. Il est à noter aussi que la représentation des contacts par des contraintes induit des approximations physique- ment incorrectes [Mirtich 1996]. Zilles et Salisbury ont proposé une méthode qui cherche à maintenir de manière continue le pointeur à la surface géométrique de l'objet en collision [Zilles and Salisbury (1995)], ils gardent l'historique des positions du pointeur et calculent la position de l'objet en collision, et ce en minimisant la distance entre l'objet manipulé et la surface initial de collision. Approche impulse traite la collision comme une interaction ponctuelle dans le temps et l'espace. L'interaction entre deux objets à un temps t connu change immédiatement la vitesse xxvi CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL de ces objets suite à l'impulsion appliquée. Elle n'est pas adaptée aux objets déformables où la collision n'est pas instantanée. Cette méthode a été appliquée dans la simulation dyna- mique par [Hahn (1998)]. Approche par pénalité la technique permet de représenter de façon continue la collision. La force de répulsion est calculée en fonction de la distance d'interpénétration. Elle est adap- tée aux cas d'objets déformables. La méthode stipule l'existence d'un ressort à vide séparant les deux objets en collision. La force renvoyée est proportionnelle à cette distance (méthode par pénalité [Benedetti 2002]). Cette méthode peut provoquer des problèmes de discontinui- tés, la distance de pénétration est égale à la distance minimale entre objets manipulé et les diérentes facettes de l'objet en collision. Approche hybride impulse-pénalité proposée par [Bade et al.2004] permet une in- terpénétration entre objets en collision. Cette distance d'interpénétration est utilisée pour calculer les forces de réactions qui empêchent d'autres interpénétrations. La force de réaction est calculée par pénalité proportionnellement à la distance entre les objets en collision et est appliquée au point de contact des deux objets. Exemple de code en C++ pour retour d'eort avec le périphérique Falcon @Novint les étudiants auront la possibilité de manipuler le périphérique en TP et ressentir le retour de force. la gure suivante présente le code c++ pour une approche de calcul de retour d'eort par pénalité, on suppose que K est la constante d'élasticité et D est la distance d'interpénétration suite a la collision. 1.3 Conclusion Dans ce chapitre l'étudiant aura vu les notions de base pour la conception et la réali- sation d'un environnement virtuel. Le processus de conception d'un environnement virtuel comprend la modélisation des objets de la scène virtuelle, l'interaction, la détection de col- lision et la réponse à la collision souhaitée. Dans le chapitre suivant, les notions nécessaires pour rendre l'environnement virtuel conçu distribué sur réseau seront présentées. xxvii CHAPITRE 1. LES BASES POUR LA CONCEPTION D'UN ENVIRONNEMENT VIRTUEL Figure 1.20  Une partie du code C++ pour un retour d'eort par pénalité sur Falcon @Novint. xxviii CHAPITRE 2 Les périphériques de la réalité virtuelle Nous avons bien vu au chapitre précédent que la réalité virtuelle est étroitement liée aux matériels. Dans ce chapitre nous allons faire le tours des technologies utilisées en réalité virtuelle et augmentée. 2.1 Technologie d'actionneurs pour retour d'eort L'évolution technologique mise au service des environnements virtuels à retour haptique a donné naissance à plusieurs moteurs physiques. Le moteur à courant continu est le plus utilisé, quant au moteur piézoélectrique est encore dans le cadre de la recherche. Il existe aussi des moteurs hydrauliques, pneumatiques, magnéto-rhéhologiques, polynieres électroac- tifs et ceux avec maillage à mémoire de forme. Nous distinguons deux groupes de périphériques à retour d'eort, les périphériques à base xe comme le bras, stylo, manches ou souris à retour d'eort et système à câbles. Le second est à base non xe, il représente tous les périphériques attachés à l'utilisateur de type gants et exosquelettes. Les gants Caractérisés par la possibilité de manipulation d'objet avec une grande liberté. Ils Orent la possibilité de ressentir la rigidité de l'objet mais non son poids. Nous citons l'exemple des gants Rutgers Master II qui renvoient des forces à 4 doigts de la main grâce à des vérins pneumatiques. Le CyberGrasp (voir gure 2.2) commercialisé par Immersion Society [IMM] se distingue par une structure exosquelette disposée à l'extérieur de la main. Les gants xxix CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE couplés a un bras à retour d'eort à 3 degrés de liberté actifs, cas du cyber Force commer- cialisé par Immersion Society. Plus récemment les gants HaptX ont vu le jour, ils permettent de ressentir les textures, les formes et le poids grâce à une peau supercielle micro-uide (https ://haptx.com/). A titre indicatif, les manus VR prime haptic sont a partir de 2499 dollars (prix 2020), supporte les plateformes OpenVR (SteamVR), OptiTrack, Antilatency, Vicon, and ART, et peuvent être utilisé avec les outils de développement Unreal Engine and Unity. Figure 2.1  HaptiX[https ://haptx.com/]. Figure 2.2  ManusVR[MAN]. Bras maîtres et stylos à retour d'eort Les bras maîtres sont utilisés dans les applications de télé-opérations ; ils peuvent fournir des forces puissantes à l'utilisateur. Ils ont 6 degrés de liberté en entrée avec 3 ddls motorisés pour les translations. Exemples : périphériques à 6 degrés de libertés actifs de Virtuose 6D commercialisé par la société Haption [HAP](voir gure 2.3) , DELTA Haptic Device commer- cialisé par Force Dimension [FDM] à 6 degrés de liberté, le PHANTOM Omni commercialisé par SensAble depuis 1994 [SEN]est un périphérique a 6DOF est utilisé a ce jour son prix actuellement 1000 dollars (prix 2020). Haptic Mster avec 3 degrés de libertés actifs com- mercialisé par FCS Control System [HAP]. Le Falcon (voir gure 2.4), de la société Novint [NOV], est un périphérique haptique branché en USB. Une boule est reliée au support par des tiges. Il permet de ressentir le retour d'eort, et donc la résistance des objets, leur poids tout en garantissent l'interaction de l'utilisateur avec l'environnement virtuel en 3 degrés de xxx CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE libertés, le prix en 2020 est 250 dollars. Figure 2.3  Virtuose [HAP]. Figure 2.4  Falcon avec une prise en main échangeable [NOV]. Souris et manches à retour de force Sont des dispositifs à 2 degrés de liberté. Nous pouvons citer, la souris PenCat /Pro d'Im- mersion society [IMM] permet à l'utilisateur de ressentir l'eort à l'extrémité d'un stylo, la souris à retour d'eort Wingman Force Feedback de Logitech [LOG] et les joystickes Side- winder Force Feedback 2 de Microsoft a retour de force utilisés par example dans les jeux de simulation de vol. Système à câbles Ces derniers ont l'avantage de simplier considérablement la mécanique des dispositifs pré- cédents et permettent de multiples congurations. Le SPIDAR Space Interface Device for Articial Reality (voir gure 2.6) est disponible sous diérentes congurations seulement il faut veiller à éviter d'entremettre les câbles. xxxi CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE Figure 2.5  SPIDAR-G. Figure 2.6  Système a cable. Interfaces à retour tactile La recherche dans ce domaine n'est qu'a ces débuts ; les interfaces existantes sont loin de pouvoir simuler correctement les phénomènes réels. La matrice d'aiguilles à faire vibrer à diérentes fréquences pour créer une texture est l'interface la plus utilisée. L'actionneur piézo-électrique comme STRESS de l'université de Mc Gill n'arrive pas encore à créer des textures physiques. La Souris iFeel(voir gure 2.7) de Logitech [LOG] est une souris optique classique équipée d'un vibreur qui produit diérents type de vibration selon la nature des éléments sélectionnés avec la souris. Figure 2.7  iFeel [LOG]. 2.2 Les périphériques d'achage pour la RV et RA Le retour sensoriel dominant en réalité virtuelle et augmentée est la vision. L'achage de l'environnement virtuel ou augmenté peut se faire de diérentes façon suivant le besoin xxxii CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE de l'application. Les écrans d'achage varient de 2D, 3D, diérentes formes et sans oublié l'achage le plus immersif en CAVE. Il est aussi possible de garantir une immersion totale Figure 2.8  Les Achages de la réalité virtuelle [Jesse et al (2007)] grâce aux achages montés sur la tête (casque). Figure 2.9  Les Achages montés sur la téte [Jesse et al (2007)] 2.2.1 Classication des techniques d'achage : ? [ ] Il existe 3 techniques d'achage : 2.2.1.1 Achage semi-transparent avec miroir diélectrique est dit "see through displays en anglais", prend la forme d'une surface d'achage sur ou à travers laquelle est propagée et achée une image virtuelle. L'achage est superposé et aligné xxxiii CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE avec une scène réelle, les éléments virtuels apparaissent sur la vitre et s'intègrent naturelle- ment à l'environnement réel sur lequel ils sont  superposés . Pour créer de tels dispositifs d'achage, on exploite les propriétés optiques des matériaux qui composent le média d'a- chage. Exemple : les par-brise de voiture Jaguar Land Rover (https ://www.aaaep.fr/blog- tests-psychotechniques/pare-brise-realite-augmentee-0063-778/). Figure 2.10  Par-brise de voiture Jaguar Land Rover (https ://www.aaaep.fr/blog-tests- psychotechniques/pare-brise-realite-augmentee-0063-778/) images/affichage1.jpg Figure 2.11  Achage semi-trasparent par miroire diélectrique. Utilise un miroir diélectrique construit par deux composantes : Un combineur (miroir diélectrique) et un projecteur. Le combineur est une vitre spéciale, appelé un miroir diélec- trique, ou réseau de Bragg, reète certaines longueurs d'ondes précises à un angle d'incidence précis. le miroir diélectrique exploite le phénomène de réexion totale observé en physique optique, qui se produit lorsqu'un rayon de lumière passe d'un milieu possédant un indice de réfraction élevé vers un milieu possédant un indice de réfraction bas. Si l'angle d'inci- dence du rayon de lumière est susamment élevé, ce dernier est rééchi comme si la surface était un miroir, l'angle critique par lequel il y'a réexion totale. Seulement quelques couleurs spécialement sélectionnées peuvent être achée. 2.2.1.2 Achage par guide d'ondes Un guide d'onde est composé d'un c÷ur :mince volume à haut coecient de réfraction dans laquelle on émet une onde. La gaine est une couche d'un matériel diérent ayant un coecient de réfraction plus faible. La protectionest L'onde étant émise dans le volume à haut coecient, elle ne peut sortir du volume tant qu'il se voit entouré d'un coecient plus bas, créant la réexion totale interne. xxxiv CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE Le guide d'onde est lui-même composé de matériaux transparents, il laisse toujours passer la lumière provenant de l'environnement, ce qui crée un dispositif d'achage semi-transparent très précis. Parmi les applications, on compte l'achage pour l'assistance opératoire dans un contexte médical avec les lunettes tel que les lunettes Sony Optical Waveguide. Figure 2.12  Achage semi-trasparent par guide d'ondes. 2.2.1.3 Achage avec diodes électroluminescentes transparentes Ecran d'achage TOLED Transparent Organic Light Emitting Diode utilise des diodes électroluminescentes dont les composantes sont toutes transparentes (cathode, couche émis- sive, couche conductrice, anode et substrat). Il est donc possible de contrôler les pixels de l'écran où l'image doit être transparente simplement en n'envoyant aucun signal à ceux-- ci. c'est une technologie abordable mais fragile, l'achage se fait par mélange additif des couleurs. Figure 2.13  Représentation d'un écran à diodes électroluminescentes transparentes ( HowStusWorks , 2005 xxxv CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE 2.2.1.4 Achage fenêtre sur le monde Window on the world en englais, utilise un écran ou un moniteur d'achage, c'est simples et peu couteux mais la qualité du résultat est fortement dépendante de la qualité du matériel utilisé pour l'acquisition. Long délais entre l'image lmée et l'image rendue (habituellement autour de 1/60s), ceci crée ce qu'on appelle une  nausée de simulation  causée par une diérence entre les signaux visuels reçus et le centre de l'équilibre qui évalue le mouvement du corps. 2.2.1.5 Achage projeté consiste à projeter les éléments de réalité virtuelle directement sur une surface réelle, sans média supplémentaire. L'achage projeté rétinien est un type d'achage qui consiste à aligner un petit projecteur à faible énergie avec l'÷il et utiliser directement la rétine de l'÷il comme surface de projection. Il est possible d'avoir une surface de projection couvrant la totalité de l'÷il. Figure 2.14  L'achages projeté rétinien 2.2.2 La stéréoscopie Le principe de la stéréoscopie consiste a acher deux images légèrement diérentes sur un même plan. Chaque image correspond à un ÷il, chaque ÷il ne voit qu'une seule image. Pour presque chaque point de l'image de gauche correspond un point homologue sur celle de droite, plus ou moins décale. C'est ce décalage qui donne la perception de relief. Pour des images en relief achées sur un écran stéréoscopique, la parallaxe horizontale angulaire est dénie par l'angle DPG, formé par les deux points homologues des images droite et gauche vues du point de vue de l'observateur. Les parallaxes horizontales créent des disparités réti- niennes sur les yeux de l'observateur, lui procurant la perception binoculaire de la profondeur xxxvi CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE relative des points homologues observés. En stéréoscopie, on ne parle plus d'un plan d'achage mais plutôt d'un volume d'achage. Ce volume est un volume visuel perceptible et n'existe pas physiquement. Le volume percep- tible se divise en deux régions, une  derrière  l'écran et une  devant  l'écran. La région entre l'écran et l'utilisateur est nommée  espace de vue et la région derrière l'écran est nommée  espace de l'écran. La disparité entre deux points peut générer trois types de parallaxes, aectant la profondeur perçue. Neutre Lorsque qu'un point est aché exactement au même endroit sur le plan image pour l'÷il gauche et l'÷il droit, l'objet est perçu sur l'écran.Négatif Lorsque le point de l'÷il gauche sur le plan image correspondant est plus à droite que le point de l'÷il droit l'objet est perçu devant l'écran. Positif Lorsque le point de l'÷il gauche sur le plan image correspondant est plus à gauche que le point de l'÷il droit l'objet est perçu derrière l'écran. Figure 2.15  Les paralex de la stéréoscopie 2.2.2.1 Technique de stéréoscopie Il existe trois techniques prédominantes sur le marché pour le rendu 3D par stéréoscopie. La stéréoscopie anaglyphe, La stéréoscopie par multiplexage temporel, La stéréoscopie par lumière polarisée. La stéréoscopie anaglyphe est la plus populaire et la moins couteuse des trois techniques, elle utilise la séparation fréquentielle de la lumière de l'image pour encoder le contenu vu par chaque ÷il, Le contenu vu par l'÷il gauche est simplement encodé dans un canal de couleur alors que le contenu de l'÷il droit est un canal de couleur complémentaire habituellement rouge et crayon. Stéréoscopie par multiplexage encode la stéréoscopie en entrelaçant les images de l'÷il gauche et de l'÷il droit par décalage dans le temps. La vidéo stéréoscopie encodée par xxxvii CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE Figure 2.16  Stéréoscopie Anaglyphe(http ://photo.stereo.free.fr/stereoscopie/stereoscopie- photo.php ?Cat=ANam=yagi) multiplexage temporel rend une image sur deux pour l'÷il gauche, et l'autre image pour l'÷il droit. Des lunettes 3D actives doivent être connectées au dispositif d'achage an de dynamiquement fermer l'÷il pour lequel l'image courante n'est pas destinée. Chaque fois que le dispositif d'achage ache une nouvelle image, il envoie aux lunettes un signal avertissant à une des lentilles de se fermer. La stéréoscopie par polarisation de la lumière utilise une lumière polarisée an de transmettre les deux images stéréoscopique. Le principe de polarisation permet des systèmes d'achage plus souples, les lunettes polarisantes sont légères et peu coûteuses. Le dispositif d'achage est constitué de deux écrans superposés. Chaque écran possède un ltre polariseur orienté dans une certaine direction. Le dispositif peut aussi posséder un seul écran à 120Hz avec un ltre polariseur alternant entre les deux orientations. L'utilisateur met des lunettes où chaque ÷il est polarisé pour une certaine direction. Chaque ÷il recevra alors la bonne image, polarisée dans la bonne direction. Cette méthode permet l'utilisation des couleurs et peut convenir pour un grand nombre de spectateurs. xxxviii CHAPITRE 2. LES PÉRIPHÉRIQUES DE LA RÉALITÉ VIRTUELLE Figure 2.17  Stéréoscopie Anaglyphe. xxxix CHAPITRE 3 La réalité virtuelle distribuée Plusieurs personnes connectées en réseau peuvent partager virtuellement le même monde synthétique,la réalité virtuelle distribuée doit donc être capable de gérer toutes les fonction- nalités d'une application de réalité virtuelle classique, mais aussi les communications réseaux permettant l'échange d'informations et le maintien de la cohérence du monde virtuel. Tous ces traitements doivent être eectués en un temps susamment court de façon a maintenir une interactivité convenable. Les applications de réalité virtuelle distribuée sont : - Prototypage virtuel collaboratif, - Visualisation scientique collaborative, - Jeux multi-joueurs, - Jeux de stratégie temps-réel (RTS), - Jeux de simulations sportives, - Jeux massivement multi-joueurs, 3.1 Etat partagé [Torguet 2014] Un système de RVD est utilisé par plusieurs participants répartis sur plu- sieurs machines modiant tous en permanence leur état (position, etc.). Un état partagé rend un environnement virtuel plus réaliste : -On peut voir la position et l'orientation de tous les objets de l'environnement. -On peut percevoir les comportements des autres participants et des objets autonomes. xl CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE -On peut déterminer comment et quand interagir. -On peut partager les mêmes eets de l'environnement. Transmettre l'information à tous les sites en temps-réel implique : -problème de latence, -chaque participant a une latence diérente, -le ux d'information est limité par la bande passante du réseau, -pertes de paquets, -cohérence de l'information prends du temps, Compromis entre cohérence et débit, Choix entre : -un environnement virtuel avec de nombreux changements dans son état et qui n'attend pas la résolution des problèmes de cohérence dus à la transmission des données (requêtes de mise à jours). -un environnement virtuel moins dynamique qui prend le temps de résoudre toutes les inco- hérences (requête de vérication de l'incohérence). Figure 3.1  Etat Partagé[Torguet 2014]. Entrepôt partagé L'état est conservé dans un lieu de stockage commun ou les mises à jour sont faites dans ce lieu de stockage. Toutes les lectures de l'état sont faites depuis ce lieu (pas de cache). Exemple : placer toute l' information sur un système de chier. Considérons un entrepôt virtuel ou le serveur envoie les mises à jour de façon synchrone vers chaque cache client. Nécessite un protocoles de cohérence répartie, ISIS (Intermediate system to intermediate system) Avantages - Modèle de programmation simple (indépendant du site). - Cohérence de l'état absolue. xli CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE - Les données appartiennent à tout le monde. Inconvénients - Point névralgique : Un goulot d'étranglement central. - Sur-coût en communications. Convient aux petits systèmes sur LAN ou à des systèmes nécessitant une forte cohérence. Régénération fréquente Consiste à envoyer fréquemment l'état courant, il est basé sur des diusions sur des groupes de communication en utilisant le ltrage pour réduire l'utilisation de la bande passante. A rajouter dans la boucle d'événements ou une horloge. Ignore les problèmes de abilité du ré- seau : les mises à jours sont susamment fréquentes pour que les incohérences ne durent pas long temps. Peut être intégré avec un serveur gérant la propriété des objets ou un système de verrous répartis. Avantages - Simple à mettre en ÷uvre : Ne nécessite pas de serveur ou autre infrastructure. - Meilleur débit que les entrepôts partagés. Inconvénients - Consomme une bande passante considérable (à réserver aux réseaux locaux). - Problème de latence. - Pas transparent puisque l'utilisateur perçoit la diérence de taux de mise à jour. Très utilisé, bon pour des systèmes moyens sur LAN. Contrôle directe Consiste à préciser uniquement le point d'arrivée et l'estampille temporelle de n de dépla- cement. Exemple : - L'objet X (0,10,0) doit être en (10,10,0) à T0+10s - En local on déplace X avec comme vitesse 1m/s sur l'axe X - Lorsque la machine M reçoit le message il s'est écoulé 2s - Nous allons donc déplacer X avec comme vitesse 1,25m/s sur l'axe X Nous aurons donc des incohérences pendant le déplacement mais pas à la n. Avantages - Peut gérer des latences importantes. - La cohérence est parfaite à certains moments précis. Inconvénients xlii CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE - Pas de cohérence en cours de mouvement. - Il faut gérer les obstacles éventuels de façon identique sur toutes les machines. - Moins interactif. convient aux systèmes sur WAN qui gèrent un grand nombre d'entités (exemple RTS). Interpolation Cette solution consiste à envoyer régulièrement la position des entités et interpoler les enti- tés dans le passé en n'utilisant que les positions connues, pas de position en cas de perte de message, l'objet est immobilisé. Avantages - Trajectoire connue de l'entité. - Utilisation constante de la bande passante. Inconvénients - Problème de perte de message. - Si la fréquence des messages de mise à jour est faible la trajectoire peut être fausse (pb de sous échantillonnage). Convient pour des systèmes moyens fonctionnant sur des WAN qui nécessitent une bonne cohérence spatiale et pas de la cohérences temporelles. Filtre de perception locale Lorsqu'il n'y a pas d'interaction directe entre les objets le ltre a perception local modie l'écoulement du temps pour cacher la latence localement sur chaque point du réseau. Sur la machine N le mouvement de l'objet est ralenti par contre sur la machine M il est accéléré pour rattraper le temps de retard. Avantages -On cache la latence -On évite tous les problèmes de causalité Inconvénients - Ne gère pas les interactions directes - Problème de perte de message. Convient pour des systèmes moyens fonctionnant sur des WAN ables qui ne nécessitent pas d'interaction directe. Dead-reckoning Prédiction de l'état des objets distants basé sur des mises à jour. Les sites prédisent les comportements grâce aux mises à jour reçues précédemment. Lorsqu'une mise à jour est xliii CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE reçue, on fait converger l'état (mal) prédit et on met à jour les algorithmes de prédictions. Les mises à jour sont envoyées moins fréquemment et la possession de l'état d'un objet doit être explicite. Types d'algorithme de prédiction : - prédiction linéaire - prédiction quadratique - prédiction utilisant des Splines - techniques hybrides Méthodes de convergence : - convergence instantanée - convergence linéaire - convergence quadratique - convergence utilisant des Splines - techniques hybrides Avantages - Chaque objet peut générer ses messages de mise à jour de façon totalement autonome. - Insensible à la latence du réseau. - Diminue la fréquence des mises à jour et donc l'utilisation de la bande passante. Inconvénients - Plus complexe à mettre en ÷uvre. - Le modèle de prédiction dépends du type d'objet. - Les erreurs de prédiction peuvent être importantes si le réseau est mauvais (en abilité et/ou latence). Convient pour des gros systèmes fonctionnant sur des WAN. 3.2 Etude de cas : jeux en réseau [Singhal et al 1999] [Thor 2005] [Farcet and Torguet(1998) ] Les jeux en réseau peuvent être : Les jeux de stratégie temps-réel (RTS) avec un modèle synchrone ou modèle asyn- chrone, Les jeux à la première personne (FPS), Les jeux de rôle massivement multi joueurs (MMORPG) avec : Les shards, Les zones, Les instances, Les proxies ou a architecture sans zones (seam less). xliv CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE 3.2.1 Les jeux de stratégie temps-réel (RTS) Dans un jeu RTS, le joueur commande une armée et/ou une population, il construit des bâtiments et des unités, il donne des ordres à ses unités. Un jeu RTS comprend plusieurs phases typiques : Construction, Exploration du monde et le Combat. Le jeu a souvent une interactivité limitée, il faut passer les positions de milliers d'unités. Considérons par exemple, une information de position en 2D (x,y sur 16 bits)avec une orientation (8 bits) et un identi- ant de l'unité (16 bits) => 5*8 = 40 bits. Sauf que le débit de la connexion est limité à 40 unités se déplaçant en même temps, la solution serai alors de simuler le monde de manière identique sur chaque machine et ne faire passer que les ordres des utilisateurs sur le réseau pour avoir un achage cohérent. RTS Synchrone Avantages - Quelle que soit la vitesse du réseau on peut gérer un nombre quasi inni d'unités, exemple de bande passante utilisée : Warcraft : 7 kbps/s. Inconvénients -Il faut attendre que tous les messages des joueurs dans un pas de temps soient envoyés avant de les exécuter dans le même ordre. - Si on a une grande latence le jeu peut bloquer. - Problème de passage à l'échelle (temps d'attente important), on doit avoir une simulation totalement déterministe. Si on utilise un générateur pseudo aléatoire il faut qu'il soit syn- chronisé et faire le même nombre d'appels sur chaque machine : Dicile à programmer. - Impossible de rejoindre le jeu en cours de partie. RTS Asynchrone Un serveur gère la simulation complète et n'envoie que les informations correspondant aux zones visibles de la carte à chaque joueur. Avantage - Beaucoup plus facile à programmer (s'apparente au ltrage). - Plus de problème de triche de type révélation de carte. - Possibilité de rajouter des joueurs en cours de jeu. Inconvénient - La bande passante utilisée augmente énormément avec la durée de la partie. Plus on explore le monde avec un grand nombre d'unités plus on voit d'unités. xlv CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE - Les tours de jeux peuvent augmenter énormément pour attendre la réception de toutes les mises à jour. 3.2.2 Les jeux à la première personne FPS Dans un jeu à la première personne, le joueur contrôle un personnage, il collecte des armes et des bonus, il élimine les adversaires, le jeu est très interactif. Un serveur simule le monde virtuel, il reçoit les ordres de mouvement/tirs de chaque joueur, il calcule les actions sur le monde virtuel, il redistribue les résultats à tous les utilisateurs. Pour éviter que les utilisateurs attendent trop on utilise une variante du dead reckoning. Avantage - Très interactif (grâce au dead-reckoning). Inconvénient - Passage à l'échelle dicile (un MMOFPS nécessite énormément de serveurs et doit avoir une latence assez faible avec l'ensemble des utilisateurs). 3.2.3 Les jeux de rôle massivement multi joueurs MMORPG Dans un jeu de rôle massivement multi joueurs Le joueur contrôle un personnage, il se déplace dans le monde, il discute avec d'autres joueurs (soit proches dans la même zone, soit ayant le même intérêt, guildes). Lors des combats, le joueur active des compé- tences/sorts/coups spéciaux qui ont une durée de récupération plus ou moins longue. Le reste du temps son personnage eectue des attaques standards. Le personnage gagne de nouvelles compétences au fur et à mesure, l'interactivité est plus faible que pour un FPS mais plus forte que pour un RTS. Le gros attrait est que plusieurs milliers de joueurs par- tagent le même monde virtuel. Le concept de shards Il est souvent impossible de permettre à tous les utilisateurs d'un MMO de se connecter sur le même serveur. Pour résoudre le problème, Ultima Online a introduit le concept de shard.Chaque shard est une copie identique (au démarrage) de l'univers de jeu qui évolue indépendamment. Un joueur doit choisir sur quel shard veut jouer lors de la création de son personnage (il existe aussi des services payants pour transférer le personnage d'un shard à un autre shard). Le terme vient du fait que dans l'univers des jeux Ultima, l'univers de jeu est supposé être prisonnier de plusieurs éclats (shards) d'un cristal magique. MMORPG avec xlvi CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE les shards ont des avantages et des inconveignants. Avantage - Possibilité de rajouter des shards quand le nombre d'utilisateurs augmente et en enlever (en transférant les personnages) quand il diminue. - Possibilité de placer des shards plusieurs endroits dans le monde de façon à diminuer la latence avec les utilisateurs. Inconvénient - Les joueurs ne sont pas tous dans le même monde partagé ce qui limite les interactions avec d'autres joueurs. Note : certains jeux comme EVE online n'utilisent pas de shards mais limitent en général l'interactivité de l'application. Le concepte des zones Pour pouvoir gérer plus d'utilisateurs dans le même shard Everquest a introduit le concept de zones en 1999. Chaque zone est connectée à une ou plusieurs autres zones par des télé- porteurs qui font transiter le personnage. Un joueur ne peut pas voir ni interagir avec les joueurs situés dans d'autres zones. En général, chaque zone est gérée par un processus dif- férent. L'ensemble des processus est ensuite réparti de façon statique ou dynamique sur un ensemble d'ordinateurs réunis dans un même cluster. Des optimisations permettent de gérer toutes les zones d'un même ordinateur dans le même processus (pour éviter les changements de contexte). Avantage - Les zones permettent de répartir la charge du monde virtuel sur plusieurs machines. Inconvénients - Elles créent des divisions articielles du monde virtuel. - Une zone peut devenir très populaire et donc saturer un ordinateur. - Il est souvent assez dicile de partager le monde virtuel en zones a priori pour éviter des déséquilibres de charge. Le concept d'instance Zone instanciée a été introduit par Everquest en 2003. Le principe est de réserver une zone à un petit groupe de joueur et de la dupliquer pour chaque groupe (ainsi il y a plusieurs instances de la zone). Les instances sont gérées de façon similaire aux zones mais requièrent xlvii CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE beaucoup moins de ressources système. Un ordinateur peut donc gérer un nombre très im- portant D'instances. De plus, comme les instances ont une durée limitée (au plus quelques heures), le système dans son ensemble peut équilibrer les charges avec des instances. Un ordinateur gérant peu de monde sera choisi pour gérer une instance lors de sa création. Avantage - Les instances permettent de répartir nement la charge du monde virtuel sur plusieurs machines. - Possibilité de prévoir facilement la charge requise pour gérer une instance compte-tenu de la limite sur la taille des groupes. Inconvénients - Pas vraiment d'inconvénients si ce n'est que les duplications d'une même zones ne sont pas très naturelles. Le concept de serveurs de proxy Pour éviter qu'un client ne voie directement tout les ordinateurs d'un serveur de MMORPG on utilise des serveurs proxies. Lors de sa connexion au système (et après une étape d'au- thentication sur un serveur spécique) un proxy est attribué au client et le restera pendant toute la session de jeu (jusqu'à la déconnexion du système). Avantage - Les proxies cachent les autres serveurs qui sont donc moins sujets à des tentatives de pira- tage. Inconvénient - La traversée des proxies rajoute un peu de latence. Le concept d'architecture sans zones Seamless (sans coutures) a été introduite par World of Warcraft en 2004. Le principe est de gérer tout (ou une grande partie) le monde virtuel sans zones (comme pour Ultima Online) mais avec plusieurs ordinateurs. Le monde virtuel est découpé en régions qui sont allouées dynamiquement à plusieurs machines. Si une région est trop peuplée elle est re-découpée et les parties sont attribuées à des machines diérentes. Avantage - Le monde parait plus réaliste puisqu'il n'y a plus de découpages articiels. xlviii CHAPITRE 3. LA RÉALITÉ VIRTUELLE DISTRIBUÉE Inconvénients - Cette architecture est beaucoup plus dicile à gérer et à coder. - Les transferts d'objets entre personnages placés dans des régions diérentes sont très com- pliqués à gérer pour éviter des duplications d'objets si les machines crashent. 3.3 Conslusion Dans ce chapitre ont été présenté les notions nécessaire à rendre un environnement virtuel distribué sur un réseau. Les diérentes manière de partager l'environnement virtuel suivant le type d'application et le type de réseau utilisé. Une présentation du mode de fonction- nement des principaux jeux en ligne aide l'étudiant à mieux comprendre la conception des applications de réalité virtuelle distribuée. xlix CHAPITRE 4 La réalité augmentée Après avoir fait le tour des notions liées à la réalité virtuelle, dans ce chapitre sera présenté un domaine annexe très en vogue actuellement. Les outils technologiques tel que les lunettes Hololens de Microsoft ont permis à la réalité augmentée de connaitre un grand essor actuellement. 4.1 Dénition La réalité augmentée désigne tout système interactif présentant à un individu une combi- naison en temps réel d'entités virtuelles (générées par ordinateur) avec des éléments physiques de l'environnement réel. Réalité : Caractère de ce qui est réel, de ce qui existe eectivement par opposition à ce qui est imaginé, rêvé, ctif, synthétique. Augmenter : Rendre quelque chose plus grand, plus considérable. Rendre quelque chose plus important, plus intensif. Ce sont les travaux d'Ivan Sutherland qui ont jeté les bases de la réalité augmentée au milieu des années 60. Il réalise alors le premier système basé sur un casque semi-transparent stéréoscopique permettant de combiner la vue de la réalité avec une image de synthèse. L'achage des entités virtuelles s'eectuait alors par des tubes cathodiques miniatures et le suivi des mouvements de la tête par un bras mécanique lié au casque. l CHAPITRE 4. LA RÉALITÉ AUGMENTÉE 4.2 Classication de la Réalité augmentée La modalité sensorielle privilégiée par la réalité augmentée étant la vision, la littérature s'est progressivement enrichie de classication liée à l'évolution des possibilités oertes par les diérents systèmes de visualisation. Nous pouvons citer essentiellement deux systèmes de classication [Fuchs et al.(2010) ] : 1. Fonctionnel, classiant les relations entre le réel et le virtuel. 2. Technique, classiant un système selon la technologie utilisée. 4.2.1 Classication fonctionnelle Ce classement a pour objectif de dresser une liste des diérents types d'associations que l'on peut réaliser entre le réel et le virtuel, tout en s'aranchissant des dispositifs employés pour faire cette association. fonctionnalité 0 : Absence de relation entre le contenu des éléments virtuels et des éléments réels présentés sur une même vue (cadre achage). fonctionnalité 1 :  réalité documentée  ou  virtualité documentée  Couvre toute existence d'un lien sémantique basique entre les images réelles et l'élément virtuel présenté dans deux cadres d'achage diérents. Généralement sous forme textuelle, les éléments virtuels permettent de mieux comprendre les images réelles. C'est la réalité documentée. la virtualité documentée est l'incorporation de parties réelles dans une repré- sentation virtuelle, visant à faciliter la compréhension de la scène en cours. Fonctionnalité 2 :  réalité à compréhension ou à visibilité augmentée . Les images réelles et les éléments virtuels sont dans un même cadre d'achage, ce qui implique la nécessité de recalage entre les deux.  L'incrustation d'éléments virtuels véhiculant de l'information sémantique passive. Ces élé- ments virtuels apportent de l'information complémentaire sur des objets réels via des titres, symboles, légendes...  La réalité à visibilité augmentée permet la mise en valeur des objets réels, facilitant ainsi leur perception. Cette mise en valeur consiste généralement en l'utilisation de modèles  l de fer  ou en transparence des objets réels. li CHAPITRE 4. LA RÉALITÉ AUGMENTÉE Fonctionnalité 3 : association visuelle du réel et du virtuel en fonction du niveau d'inté- gration des objets virtuels dans la scène réelle, cette fonctionnalité présente deux cas :  L'association par superposition, c'est-à-dire en incrustation (overlay) des objets virtuels par devant les objets réels. La superposition n'implique aucune occultation du virtuel par le réel.  L'association tridimensionnelle : l'intégration d'objets virtuels dans le réel, les deux mondes paraissant cohabiter spatialement et temporellement. Nécessite une gestion peu triviale des occultations entre les deux mondes. Fonctionnalité 4 : association comportementale du réel et du virtuel. Après l'intégration tridimensionnelle, de plus en plus nous retrouvons l'intégration des propriétés physiques (masse, gravité, élasticité...) des objets virtuels,  interagissant  ainsi avec le réel. Cette interaction géométrique et physique nécessite au préalable une connaissance à priori de la scène réelle. Fonctionnalité 5 :  substitution du réel par le virtuel  ou  réalité virtualisée . Per- met d'orir la possibilité de substituer la scène réelle (visuellement) par la scène virtuelle équivalente. L'ensemble des propriétés de la scène réelle doivent être connus et modélisés. La possibilité de présenter à l'utilisateur l'un ou l'autre des mondes, soit à partir du même point de vue, soit à partir d'un point de vue alternatif dans le monde virtualisé, ceci an de faciliter la compréhension de l'environnement. Taxonomie technique Dénit la relation qu'il peut exister entre un système de réalité augmentée et la technologie utilisée. Introduit le terme de réalité mixte, ce concept désigne l'hybridation dans un conti- nuum reliant le monde physique au monde numérique. Elle est basée sur trois principes (ou dimensions), eux-mêmes représentés par une échelle de graduation :  Le degré de modélisation (connaissance) du monde.  Le degré de délité de reproduction du monde.  Le degré d'immersion de l'utilisateur (ou métaphore de présence). lii CHAPITRE 4. LA RÉALITÉ AUGMENTÉE Figure 4.1  Taxonomie technique [Fuchs et al.(2010) ]. 4.3 Les technologies d'achage La réalité augmentée exploite essentiellement le sens de la vision. Les dispositifs de vi- sualisation sont classés en trois types distincts : 1. L'achage sur la tête (HeadWorn Display (HWD) ou Head Mounted Display (HMD)) : des dispositifs de type casque ou lunettes qui sont portés par l'utilisateur. Classé en voir a travers (See-Through) pour permettre à l'utilisateur de percevoir le monde réel. Application d'aide a la chirurgie avec Hololes. 2. Fenetre sur le monde (Handheld Display) : désigne tout dispositif orant une fenêtre augmentée sur le monde :  Window On World  utilise des appareils de type Smartphone (iPhone, Blackberry...). Exemple : PokemonGo. 3. Achage projeté (Projective Display) : dispositifs utilisant des projecteurs augmen- tant les objets réels par projection directe d'informations sur les objets eux-mêmes. Exemple : la vidéo de la projection réalisé sur la grande poste d'Alger a l'occasion du 1 er Novembre 2014 (https ://www.youtube.com/watch ?v=ioIAHxBaUlEabc hannel = SEDABADA). Figure 4.2  Les achages de la RA [Fuchs et al.(2010) ]. Exemple de story telling : une vidéo est projetée aux étudiants, il est demandé liii CHAPITRE 4. LA RÉALITÉ AUGMENTÉE de classer l'application suivant les 2 taxonomies et la technologie d'achage. La gure présente un exemple de réalité augmentée type fenêtre sur le monde en utilisant la bibliotèque ARcore et SceneView sous Android studio, le pro- gramme complet sera vu en TP. Figure 4.3  Augmentation par objet 3D avec SceneView de ARcore sous Android studio. Figure 4.4  Rendu résultat. liv Bibliographie [IMN638 2013] CHAPITRE 1 Module3 :DISPOSITIFS DE RESTITUTION VISUELLE, université se Scherbrooke 2013. [Allard et al 2004] Allard J., Gouranton V., Lecointre L., Limet S., Ran B., and Robert S., 2004. FlowVR : A middleware for large scale virtual reality applications. In Marco Danelutto, Marco Vanneschi, and Domenico Laforenza, editors, Euro-Par 2004 Parallel Processing, 10th International Euro-Par Conference (10th Euro-Par'04), Lecture Notes in Computer Science (LNCS), 3149, 497505. [Avril et al 2009] Avril Q., Gouranton V., and Arnaldi B. 2009. New trends in collision de- tection performance. In Virtual Reality International Conference, 5362. [Bandi and Thalmann(1995)] Bandi S., and Thalmann, D. 1995. An adaptive spatial sub- division of the object space for fast collision detection of animated rigid bodies. Com- put.Graph. Forum, 14(3), 259270. [Bade et al.2004] Bade A., Devadas S., Daman D., Suaib N-H.2004, Collison response bet- ween deformable objects in computer game environment. The 1st conference on Tele- matics System, Services and Applications TSSA, Saudi Arabia. 220-224. [Baciu and Wong 2004] Baciu G., and Wong W. S.-K. 2004. Image

Use Quizgecko on...
Browser
Browser