Interactions collectives locales en immersion dans des univers virtuels 3D avec GASP Thierry Duval 1, Alain Chauffaut 1, Jordi Régincós 2, David Margery 1, Bruno Arnaldi 1 1 IRISA / Siames, Campus de Beaulieu, F Rennes Cedex {Thierry.Duval, Alain.Chauffaut, David.Margery, 2 IIA / GG, Campus Montivili, E Girona Jordi.Reginc ó
Cadre de travail n Simulation et animation en environnements virtuels 3D n Interactions immersives dans un Reality Center SGI n Etude de dispositifs d’interaction peu intrusifs facilitant l’immersion n 1 même point de vue pour tous
Plan de l’exposé n Le dispositif immersif d’interaction n Les essais de faisabilité n La plate-forme GASP n L’intégration des interactions dans GASP n GASP et la multimodalité, la coopération n Conclusion
Le Reality Center SGI n Onyx 2 ê6 processeurs R12000 ê3 « pipes » graphiques IR2 êrésolution 3200 x 1000 n Grand écran cylindrique ê3 vidéo-projecteurs barco 60, 96, 120 hz ê135 degrés de champ de vision ê2m50 x 9m
Le Reality Center SGI
Le SM3D 1000 SAGEIS n 3 caméras linéaires sur poutre carbone êétalonné en usine n Jusqu’à 24 diodes suivies êfréquence d’acquisition : 60 Hz n Dispositif (non ?) filaire n Volume suivi : environ 10 m 3 êprécision : 0.25 mm (sans fil : 20 mm)
Le SM3D 1000 SAGEIS
Les essais de faisabilité n Seulement 4 diodes... n Un suivi de diodes simple ê1 diode pour 1 objet de la scène êdéplacement de l’objet associé êjusqu’à 4 utilisateurs immergés n Une souris 3D êà l’aide de 2 diodes êsélection / désélection êdéplacement de l’objet sélectionné êjusqu’à 2 utilisateurs immergés
Les essais de faisabilité
Le noyau de GASP n Fournit l’environnement d’exécution n Définit des classes de modules : êobjets de simulation êcalculs associés n Offre des paradigmes de communication entre objets : êflots de données (entrées / sorties) êévénements et messages
Le noyau de GASP n Gère : êles communications entre modules êl’ensemble des modules êla synchronisation et l’exécution des modules àchaque module possède sa propre fréquence d’activation
X Y = F (X, CP) Y Un module... n Fonction de transfert n Y = F (X, CP) êX (les entrées) êY (les sorties) êCP (les paramètres de contrôle)
Les branchements A C B set(data) connexion get ( t 2 ) get ( t 1 ) connexion
Un pas de simulation... n Pour tous les objets actifs : êtraiter les événements et messages reçus au dernier pas de simulation êcalculer... lire les entrées et paramètres calculer un nouvel état interne mettre à jour les sorties
Interacteurs de bas niveau (pilotes) n un pilote est un objet de simulation : êqui typiquement n’a pas d’entrées êdont le calcul associé encapsule un dispositif physique quelconque êqui fournit des sorties brutes telles que : n’importe quel DoF (positions 3D, orientations 3D, …) n’importe quelle sortie utile (pression sanguine, …)
Intégration du SM3D : le pilote n Un pilote est un module associé à un calcul : êfonction de calcul = lecture sur liaison série êpas d’entrées ê4 sorties : les positions 3D de 4 diodes Calcul (RS 232) position1 position2 position3 position4 Pilote
Suivi simple Calcul (RS 232) position1 position2 position3 position4 Pilote CC2:CalculCoin position C2:Coin CC1:CalculCoin position C1:Coin CC3:CalculCoin position C3:Coin CC4:CalculCoin position C4:Coin
Suivi simple
Interacteurs de haut niveau n Sont purement logiciels n Font une interprétation de plus haut niveau des sorties d’un pilote n Sont capables d’envoyer des messages à des objets interactifs : êpour une prise de contrôle … êpour les relâcher...
Souris 3D Calcul (RS 232) position1 position2 position3 position4 Pilote CC1:CalculCoin position C1:Coin CC8:CalculCoin position C8:Coin CalculInteracteur positionD1 positionD2 positionC1 positionC2 Interacteur positionC3 positionC4 positionC6 positionC5 positionC8 positionC7 position CC2:CalculCoin position C2:Coin... message de demande de prise de contrôle Rapprochement des diodes Interprétation du Rapprochement
CC8:CalculCoin Souris 3D Calcul (RS 232) position1 position2 position3 position4 Pilote CC1:CalculCoin position C1:Coin CCC8:CalculCoinContrôlé position C8:Coin CalculInteracteur positionD1 positionD2 positionC1 positionC2 Interacteur positionC3 positionC4 positionC6 positionC5 positionC8 positionC7 position CC2:CalculCoin position C2:Coin...
Souris 3D
Conclusions diodes et interactions n Dispositif favorable à l’immersion : êpeu intrusif êpositionnement 3D « naturel » êpositionnement très précis en stéréovision ê« enthousiasme » de la part des utilisateurs... n Facilité de reconfiguration logicielle : êphilosophie GASP … êgrand nombre de diodes possible
Interactions envisagées n 4 diodes sur un utilisateur ê1 sur chaque main + épaule ê7 “clics” possibles … êpour indiquer : un vecteur de déplacement... un vecteur de rotation... n 12 diodes sur utilisateur + caddie ê6 sur les mains, coudes, épaules ê4 sur la tête ê2 sur le caddie
GASP et Multimodalité n Plusieurs périphériques : êdiodes (plusieurs …) êposte de conduite de 106 êjoystick à retour d’effort êclavier êsouris êcapteur magnétique 6 DoF êvoix (prochainement) n Des modules qui fournissent des sorties...
GASP et Coopération n Entre utilisateurs : êlocaux êdistants (version PVM distribuée) n Entre modes : êdifférents êplusieurs canaux d’un même mode n Encore des modules avec des sorties...
Conclusion n GASP, environnement de développement : êfacilite l’intégration de périphériques interactifs : diodes,... êpermet des interactions : coopératives (locales et distantes) multimodales (moteur de fusion primitif) n Interactions coopératives locales : êfacilitent la prise de conscience des autres... êsont à comparer à des interactions distantes...