0% ont trouvé ce document utile (0 vote)
23 vues69 pages

Interaction 3 Den RV

Le document présente les principes et les techniques de l'interaction en réalité virtuelle, en mettant l'accent sur les dispositifs d'affichage, les périphériques de suivi de mouvement et les méthodes d'interaction. Il aborde également les différents types de navigation, les protocoles de communication entre outils d'interaction et objets virtuels, ainsi que l'importance de l'immersion pour améliorer l'expérience utilisateur. Enfin, il discute des applications collaboratives et des défis associés à la conception d'environnements virtuels.

Transféré par

mess687 kaskh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues69 pages

Interaction 3 Den RV

Le document présente les principes et les techniques de l'interaction en réalité virtuelle, en mettant l'accent sur les dispositifs d'affichage, les périphériques de suivi de mouvement et les méthodes d'interaction. Il aborde également les différents types de navigation, les protocoles de communication entre outils d'interaction et objets virtuels, ainsi que l'importance de l'immersion pour améliorer l'expérience utilisateur. Enfin, il discute des applications collaboratives et des défis associés à la conception d'environnements virtuels.

Transféré par

mess687 kaskh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Interaction en Réalité Virtuelle

Journées d'études sur l'image :


Technique et Applications

20-22 février 2012

Thierry Duval
ISTIC / IRISA - VR4i
[Link]@[Link]
Réalité Virtuelle

➢ Image (3D)
➢ Interaction (3D et multi-modale)
➢ Immersion (3D et multi-sensorielle)

2
Dispositifs d'affichage pour la RV

3
Périphériques pour le suivi de mouvements

4
Périphériques pour l'interaction

5
Périphériques d'interaction et de restitution

6
Différents types d'interaction

[Hand 1997][Bowman et al. 2004]

➢ Navigation
✔ Interaction avec le point de vue de l'utilisateur
➢ Interaction avec les objets du monde virtuel
✔ Modifications de caractéristiques d'objets qui font partie de la
modélisation du monde virtuel qui a été faite dans le but de
simuler un monde réel
➢ Contrôle d'application
✔ Modifications des caractéristiques de l'application de RV au
travers d'objets de dialogue qui ne font pas forcément partie du
monde virtuel
7
Navigation

➢ Tâche parfois secondaire


➢ Pourtant essentielle
➢ Modification des caractéristiques de la caméra virtuelle qui
permet de voir ce qui se passe dans le monde virtuel
✔ Position
✔ Orientation
✔ Facteur d'échelle
➢ Souvent traitée de façon distincte de l'interaction
➢ Peut pourtant être considérée comme une interaction avec
un objet qui représente le point de vue de l'utilisateur
✔ Particulièrement vrai pour le domaine de la RV Collaborative

8
Navigation

➢ Notion de point de vue sur l'univers :


✔ Caméraman associable à une fenêtre de rendu
➢ Modification du point de vue :
✔ Envoi d'ordres de déplacement à un caméraman
➢ Adaptation du rendu en fonction du dispositif physique de
visualisation :
✔ Station de travail, Reality center, Workbench, Cave, ...
➢ Parfois besoin de compenser le faible champ de vision par
des techniques adaptées
✔ En particulier pour les stations de travail...

9
Lentilles périphériques (Massive-2)

10
Coup d’œil à gauche (Massive-2)

11
Quelques types de navigation

➢ Modes les plus souvent rencontrés


✔ Marche (walk)
✗ Limitation des degrés de liberté de translation
✗ Application de contraintes physiques (pesanteur)
✔ Vol (fly)
✗ Pas de limitations des degrés de liberté
✔ Examen (examine)
✗ La caméra est contrainte à tourner autour d'un objet particulier de l'univers
✔ Focus sur un objet
✗ Zoom / dezoom <-> rapprochement / éloignement de la caméra
✗ Ou changement de l'angle de vue de la caméra
✔ Passage d'un point de vue à un autre (téléportation)
✗ Avec ou sans interpolations de mouvements

➢ Démonstration...
12
Quelques types de navigation

➢ De nombreux autres modes possibles


✔ Attachement à un objet de la scène
✗ Avec possibilité de définir des offsets de positionnement
✗ (démonstration : Collaviz)
✔ Asservissements avec contraintes à respecter
✗ Extensions du mode examine : travelling, ...
✗ (Voir exposé de Marc Christie demain)
✔ Respect de contraintes physiques
✗ Détection de collision pour ne pas traverser les objets du monde virtuel

➢ Distinction possible entre :


✔ Navigation virtuelle
✗ Dans l'environnement virtuel 3D
✔ Navigation réelle/physique
✗ Dans l'environnement réel/physique de l'utilisateur
13
Immersion dans un système à 4 faces

14
Quelques remarques sur la navigation

➢ A beaucoup à gagner à être considérée comme une


interaction comme une autre
✔ Avec une représentation virtuelle
✗ Notion de support de caméra / point de vue qu'il est possible de
représenter dans l'environnement virtuel
✔ Avec possibilité d'agir / interagir directement sur cette
représentation
✔ Particulièrement vrai dans le domaine de la RV collaborative
➢ Exemples :
✔ Mode carte / plan : caméra éloignée
✔ Prise de contrôle possible du point de vue par un autre utilisateur
✔ ...

15
Interaction avec les objets du monde

➢ Tache essentielle en réalité virtuelle


➢ Nécessite de pouvoir désigner dynamiquement l'objet
avec lequel on souhaite interagir
✔ Possibilité de désignation implicite ou statique :
✗ Cas de l'action sur le point de vue :
• souvent implicite, souvent statique
✗ Cas du pilotage des outils d'interaction :
• souvent statiquement attachés à un périphérique d'interaction

➢ Nécessite également de pouvoir dialoguer avec l'objet en


interaction
✔ Protocole de dialogue nécessaire pour communication entre outil
d'interaction et objet interactif
➢ Besoin d'offrir des retours d'information à l'utilisateur
16
Désignation dynamique d'un objet virtuel

➢ 2D :
✔ Choix d'un objet parmi une liste des objets à disposition
✗ Pas très immersif
✗ Nécessite outils IHM 2D classiques

➢ 2D/3D :
✔ Picking orthogonal (de longueur infinie) dans la fenêtre de rendu
à partir de coordonnées 2D fournies par le dispositif de pointage
utilisé
✗ Nécessite une conversion 2D/3D
• Conversion souvent fournie par les API graphiques 3D

➢ 3D :
✔ Picking 3D réalisé à partir de la position et de l'orientation d'un
objet virtuel (un outil d'interaction)
✗ Généralement fourni par les API graphiques 3D
17
Dialogue avec un objet interactif

➢ Besoin d'un protocole de communication entre outils


d'interaction et objets interactifs
✔ Qu'est-ce qui peut être contrôlé ?
✗ Nom et type des paramètres de l'objet interactif
✔ Par qui ?
✗ Type, groupe et priorité des outils d'interaction
• Pour pouvoir mettre des garde-fous et ainsi sécuriser l'interaction
• Passage naturel à la collaboration
✗ Idem pour les utilisateurs (cas de la RV collaborative)
✔ Comment ?
✗ Un seul paramètre ou plusieurs paramètres à la fois ?
✗ Un seul outil ou plusieurs outils à la fois ?
• Interactions bimanuelles, multimodales, collaboratives, ...
✗ Compatibilité nécessaire entre objet interactif et outil d'interaction

➢ L'existence d'un tel protocole facilite l'évolution de l'EV


18
Description de l'interaction

➢ Codage en dur : c'est courant, mais à éviter...


➢ Via des langages de modélisation
✔ VRML, X3D :
✗ Expression d'interactions basiques dans le graphe de scène
• MouseSensor, PlaneSensor, CylinderSensor
✗ Possibilité d'extensions (pour X3D)
• Ajout possible de caractéristiques interactives plus précises
✔ Collada :
✗ Possibilité de décrire différents types de graphes de scènes
• Géométrique, physique
✗ Possibilité de décrire de nouveaux types de graphes
• Sonore, Interactif
✗ Possibilité de décrire des liens entre les nœuds des différents graphes

➢ À condition d'étendre ces langages...


✔ Et d'être capable d'interpréter ces ajouts ! 19
Métaphores et outils d'interaction

➢ Outils d'interaction souvent inspirés par des métaphores


tirées du monde réel
✔ Main virtuelle
✔ Curseur 3D
✔ Rayon 3D
➢ Besoin de métaphores additionnelles pour la collaboration
✔ Curseur2D/Rayon3D (pour la collaboration)
✔ Plusieurs outils simultanés
✗ Rayons déformables (ou avec liens élastiques)
✗ Curseurs 3D pour manipulations multi-points

20
Métaphores et outils d'interaction

➢ Main virtuelle
➢ Curseur 3D
➢ Rayon 3D

21
Métaphores et outils d'interaction

➢ Rayons déformables

22
Collaboration 3 mains

23
Périphériques pour l'interaction

➢ Ne devraient jamais être utilisés directement comme outils


d'interaction !
✔ Seulement pour piloter des outils d'interaction plus abstraits
✗ Meilleure évolutivité des applications de RV
✗ Exemple : normalisation à la mode VRPN

➢ Exemples de périphériques d'interaction :


✔ Capteurs magnétiques
✗ Polhemus, Flock of birds, MotionStar, ...
✔ Capteurs inertiels et ultrasoniques
✗ Intersense, ...
✔ Capteurs optiques
✗ ART, Vicon, Optitrack, Kinect, ...
✔ Joysticks et joypads
✗ SpaceMouce, Wiimote, ...
24
Interfaces tangibles

➢ Périphériques matériels dédiés à des interactions


particulières
✔ Ex : saisie + changement de position et d'orientation
➢ Permettent de meilleures sensations durant l'interaction
✔ Car l'utilisateur interagit physiquement
➢ Peuvent être passifs :
✔ Pas de retours particuliers à l'utilisateur
➢ Peuvent être actifs :
✔ Retours dynamiques à l'utilisateur :
✗ Force, son, vibration, ...

25
Interfaces tangibles

26
Utilisation d'une interface tangible

27
Visualiser la nature des interactions

➢ Indiquer que l’interaction est « accessible »


✔ « Highlight » de l’objet
➢ Présenter les possibilités offertes :
✔ Types de manipulations disponibles

28
Percevoir l'interaction effective

➢ Mettre en évidence l'interaction :


✔ Différemment de la façon de montrer le potentiel
✔ Rappeler également la nature de l’interaction en cours

29
Perception des contraintes d'interaction

➢ Fournir la perception des limitations sur les DDL

30
Contrôle d'application

➢ Modification de caractéristiques liées davantage à


l'application elle-même plutôt au monde virtuel :
✔ Taille de la fenêtre de rendu
✔ Frame-rate demandé
✔ Type de lissage souhaité
✔ Enregistrement d'une session dans un fichier
✔ ...
➢ Peut se faire via une IHM 2D classique
➢ Peut également se faire via des actions sur des widgets
3D
✔ Ces actions peuvent alors aussi prendre la forme d'interactions
3D, mais sont de nature différente des interactions 3D sur les
objets du monde
31
Limites Interactions / Contrôle d'application

➢ Pas toujours faciles à déterminer...


➢ Exemple :
✔ Cas d'une IHM 3D de contrôle de navigation
✗ Widgets 3D pour choix de directions
✗ Widgets 3D pour choix de vitesse de déplacement
✗ A priori il peut s'agir de contrôle d'application
✔ En situation collaborative :
✗ Les autres utilisateurs peuvent percevoir cette IHM 3D
✗ Ils peuvent peut-être également agir dessus
✗ On passe alors à de l'interaction 3D...

32
Immersion

➢ Plonger l'utilisateur dans le monde virtuel pour une


meilleure perception et de meilleures interactions
➢ Via de grands dispositifs d'affichage
✔ Systèmes immersifs de type RealityCenter ou Cave
✔ L'utilisateur peut effectuer des déplacements physiques dans son
environnement de travail
✗ Nécessité de faire un suivi de la tête de l'utilisateur pour adapter le rendu
de la scène virtuelle à la position de l'utilisateur
✔ Métaphore de regard par une fenêtre sur l'univers virtuel
✗ C'est une forme d'interaction de l'utilisateur avec le système immersif !
✗ Peut être étendue à tout type de dispositif de rendu...

➢ Via un visio-casque
✔ Problématique similaire
33
Immersion

➢ Effets sur les interactions :


✔ Interactions classiques via IHM 2D inadéquates
➢ Solutions acceptables :
✔ Interactions 3D :
✗ Pilotage d'outils3D par des périphériques immersifs
✗ Capture de mouvements / gestes
✗ Utilisation de widgets 3D
✔ IHM 2D embarquées/déportées sur dispositifs mobiles
✗ Tablettes tactiles, smartphones, ...

34
Immersion

➢ Exemple de collaboration distante en immersion

35
Modèle d'objet virtuel

➢ Extension du modèle PAC [Coutaz 1988]


✔ Comportement dans les abstractions
✔ Liaison avec le graphique dans les présentations
✔ Relation entre composants via les contrôles
✔ Interfaces pour un meilleur découplage entre composants

Contrôle

IA IC 0..N IP
0..1 ab n
s tra t at io
n
c t io se
n pré

A C P

36
PAC et les API graphiques 3D

➢ Permet de concevoir l'architecture globale de


l'environnement virtuel indépendamment de l'API
graphique 3D utilisée
➢ Permet de tester plus facilement différentes API
graphiques 3D
➢ Choix possible de l'API graphique 3D en fonction :
✔ Du langage de développement envisagé
✔ Des formats de données utilisables
✔ Des besoins :
✗ De stéréovision
✗ De tracking de tête
✗ De distribution du graphe de scène (CAVE)
✗ De partage de graphe de scène (multi-utilisateur)
37
Quelques API graphiques 3D

➢ Ogre 3D
✔ C++, Java (ogre4j), stéréovision, tracking de tête
➢ OpenSG
✔ C++, stéréovision, tracking de tête, graphe de scène distribué
➢ OpenSceneGraph
✔ C++, stéréovision, tracking de tête
➢ Java3D
✔ Java, stérovision (?)
➢ jReality
✔ Java, stéréovision, tracking de tête, graphe de scène distribué
➢ jMonkey (JME3)
✔ Java, distribué (multi-joueurs), multi plates-formes (?) 38
Environnements Virtuels Collaboratifs

➢ Application collaboratives de la Réalité Virtuelle

39
Domaines d'application

➢ Modélisation 3D et prototypage coopératifs


➢ Revue virtuelle et coopérative de projet :
✔ Industries automobile, aéronautique, pétrolière...
✔ Architecture, urbanisme
➢ Démonstration à distance de manipulations complexes sur
des maquettes virtuelles
➢ Apprentissage :
✔ Un tuteur avec un ou plusieurs élèves
✔ Plusieurs élèves : tâches typiquement coopératives

40
Simulation de combat (NPS-NET)

41
Conférence virtuelle (Avatars’98)

42
Partage de périphérique d'interaction
(Protein Interactive Theater)

43
Activités usuelles dans les EVC

➢ Activités classiques des EV


✔ Navigation
✔ Interaction 3D
✔ Contrôle d'application
➢ Interactions coopératives locales ou distantes
✔ Non réalisables seul(e)...

44
Principaux problèmes des EVC

➢ Communs aux environnements virtuels :


✔ Comment visualiser les univers virtuels ?
✔ Comment naviguer dans ces univers ?
✔ Comment interagir avec les objets de l'univers ?
➢ Propres aux aspects coopératifs :
✔ Comment partager les univers virtuels ?
✔ Comment partager des interactions ?

45
Principaux problèmes des EVC

➢ Aspect social du travail coopératif :


✔ Rôle et droits de chacun
➢ Maintien de la cohérence entre les vues des différents
participants :
✔ WYSIWIS
➢ Granularité de la protection des objets partagés
➢ Architecture logicielle
➢ Problèmes matériels de communication

46
Aspects sociaux des EVC

➢ Besoin d'une décomposition sociale des tâches et d'une


modélisation précise du rôle de chacun des participants :
✔ Qui fait quoi ?
✔ Quels sont les droits de chacun ?
➢ Exemples :
✔ Pouvoir imposer à des participants de suivre un guide
✔ Pouvoir corriger, aider des élèves
✔ Ne pouvoir consulter que les parties publiques de l'espace de
travail d'un collègue...

47
WYSIWIS

➢ WYSIWIS (What You See Is What I See)


✔ Premiers pas du collecticiel
✔ Inspiré du WYSIWYG :
✗ What You See Is What You Get

➢ Interaction de groupe :
✔ Chacun voit ce que font les autres (en plus de ce qu'il fait),
plusieurs personnes peuvent travailler sur des objets de
l'environnement partagé
➢ Nécessité du WYSIWIS :
✔ Selon le domaine d’application (ex : Réalité Virtuelle…)

48
Granularité de l'interaction

➢ Comment partager l'univers entre plusieurs utilisateurs ?


✔ Exclusion mutuelle sur la manipulation d'objets ?
✔ Exclusion mutuelle sur des parties d'objets ?
✔ Pas d'exclusion mutuelle ?
✗ Comment faire ressentir les actions des autres ? (efforts ?)

➢ Ex : manipulation d'objets virtuels en édition 3D :


✔ 1 seul manipulateur par objet ?
✔ 1 seul manipulateur par handlebox associé à l'objet ?
✔ Plusieurs manipulateurs simultanés ?

49
Prise de conscience des autres

➢ Comment faire percevoir à un utilisateur :


✔ La présence des autres utilisateurs ?
✔ Les actions des autres utilisateurs ?
✔ Les intentions des autres utilisateurs ?
➢ Des solutions pour les CVE :
✔ Fournir des avatars (humanoïdes ou non…)
✔ Mettre en évidence les objets en interaction
✔ Mettre en évidence de façons différentes selon :
✗ La nature de l’interaction
✗ Le degré de partage de l’interaction

50
Visualisation du champ de vision (Massive-2)

51
Visualisation d’une interaction (Massive-2)

52
Perception des autres (VR-OpenMASK)

➢ Leur présence
➢ Leur activité
➢ Leurs intentions

53
Perception de la coopération (VR-OpenMASK)

54
Collaboration complémentaire

55
Modèles de distribution pour les EVC

➢ Architecture dupliquée

56
Modèles de distribution pour les EVC

➢ Architecture centralisée

57
Modèles de distribution pour les EVC

➢ Architecture hybride

58
Action sur un objet distant

➢ Usage classique d'ORBs peu adaptés :


✔ Les mises à jour doivent se faire en asynchrone...

59
Synchronisation en univers partagés

➢ Un contrôleur local sur chaque processus


➢ Algorithme de synchronisation lié à la latence :
✔ Calcul du pas de simulation T seulement si toutes les données
de simulation de T - dT - latence des autres contrôleurs sont
disponibles
✔ Envoi des mises à jour aux autres contrôleurs locaux
✔ Les plus rapides doivent attendre les plus lents
➢ La simulation au temps T a lieu pendant que les données
de mise à jour de T - dT transitent :
✔ Les contrôleurs ne perdent pas de temps à attendre...

60
Cohérence en univers partagés

➢ L'extrapolation peut permettre d'éviter d'avoir à attendre


les valeurs exactes :
✔ De (bonnes) approximations sont disponibles pour T
✔ Ou pour tout autre instant, en fonction de la latence...
➢ Si la latence correspond à la latence du réseau, la
distribution ne ralentit pas la simulation :
✔ Très peu d'attente entre les différentes machines
✔ Mais introduction d'un délai constant (dû à la latence)dans la
propagation des changements

61
Envois de messages

➢ Quand un message est envoyé à un objet :


✔ Si c'est le référentiel qui le reçoit :
✗ Le message est traité
✔ Sinon (le référentiel est dans un autre processus) :
✗ Le message est reçu par un proxy...
✗ ...Qui est créé dynamiquement si besoin
✗ Le proxy transmet le message vers le processus qui héberge son
référentiel
✗ La réception effective du message est donc retardée...
✗ Les messages traversent le réseau avec les mises à jour des proxy

62
Coopération

➢ Interagir simultanément à plusieurs :


✔ Sur des objets différents
✔ Sur différentes parties d’un même objet
✔ Sur un même objet, en mode centralisé ou référent/proxy :
✗ Protocole de dialogue adapté
✗ Un référentiel reçoit plusieurs sollicitations à chaque pas de simulation
✗ Une fonction d’intégration des sollicitations détermine une consigne
résultante
✗ Le résultat de l’interaction est propagé aux proxys
✔ Mode dupliqué pas adapté à la co-manipulation

63
Modèle d'objet virtuel partagé

➢ Extension du modèle PAC :


✔ Les contrôles gèrent également la collaboration
✔ Ils peuvent déléguer cette collaboration à un composant dédié

contrôle

IA IC 0..N IP
0..1 ab n
s tra t atio
ct i o sen
n pré

A C P

0..1 politique de distribution


DP

DDP PDP RDP


64
Interaction en mode répliqué

Node 1 Node 2 Node 3


A C/DDP P A C/DDP P A C/DDP P
1: set
3: set 2: set

4: get 5: update
6: update 6: update

7: set 8: update 7: set 8: update

65
Interaction en mode centralisé

Server Node 1 Node 2


A C/RDP C/PDP P C/PDP P
1: set
2: set
3: set
4: set

5: get
6: update
7: update 7: update

66
Interaction en mode hybride

Node 1 Node 2 Node 3


C/PDP P A C/RDP P C/PDP P
1: set
3: set 2: set

4: get 5: update
6: update 6: update

7: update 7: update

1: set
2: set
3: set
4: set

5: get 6: update
7: update 7: update

8: update 8: update

67
Modèle d'environnement virtuel

➢ Cabine Virtuelle d'Interaction Immersive (CVII ou IIVC)


✔ « workspace »
✔ « conveyor »
✔ « stage »
✔ « interaction tools »

68
Résumé des contraintes des EVC

➢ WYSIWIS (What You See Is What I See) :


✔ Maintien temps-réel de cohérence entre visualisations
✔ Architecture logicielle adaptée à la répartition
✔ Réseau à haut débit (faible latence)
➢ Coopération distante simultanée sur un objet :
✔ Synchronisations fortes entre utilisateurs
✔ Réseau à très faible latence
➢ Compréhension des actions des autres :
✔ Métaphores adaptées à la collaboration
✔ Explicitation des actions et intentions des autres
➢ Navigation et interaction fluides :
✔ Rendu 3D temps-réel
69

Vous aimerez peut-être aussi