DIFFUSION 3D LIVE POUR LE WEB
Marionnettes Virtuelles
En association avec l'Irit, un groupe de marionnettistes : ANIMAçào
a mis au point toute une animation autour de marionnettes virtuelles.
Ce spectacle est basé sur deux techniques qui à priori n'avaient
rien pour se rencontrer :
- la dexterité des marionnettistes qui manipulent des capteurs 3D
(électromagnétiques)
- le savoir faire en matière d'animation et de rendu 3D de l'équipe
Synthèse d'images de l'irit.
La manipulation de marionnettes virtuelles constitue une attraction
amusante et intrigante pour un jeune public.
Jusqu'à présent l'installation est la suivante :
- Des objets 3D sont affichés sur un écran
- Le marionnettiste déplace avec ses mains des capteurs
(petites boites émettrices connectées à un récepteur)
- un protocole permet de récupérer les déplacements
et ainsi met à jour la position de l'objet puis le réaffiche,
ce qui donne un effet de manipuler à distance des objets virtuels.
- la partie modélisation est faite à l'aide d'un modeleur 3D (3DS max)
- La partie aquisition et visualisation est faite par un logiciel utilisant
la bibliothèque WTK (cf: annexes)
Evolution du dispositif
L'addition d'un support Web à cette attraction est intéressante pour plusieurs
raisons :
- Innovation
- Respect des méthodes de travail tout en diffusant le spectacle localement
et simultanément sur le Web à moindre coût (communication locale)
- Publicité, Happening ...
- Cibler un autre type de public
- Evolutions : interactions, jeux, webcams ...
Un exemple d'application serait de faire une diffusion en direct
sur Internet de marionnettes virtuelles manipulées par de _vrais_
marionnettistes
Marionnette
|
|
V
Acquisition
|
\__ Serveur ---// Internet //
|
+------------- BrowserWeb
| +- Applet Java
| | (mise à jour des pos)
| +- Plugin rendu3d (vrml)
|
+------------- BrowserWeb
. +- Applet Java
. (mise à jour des pos + visu)
.
Architecture Logicielle
- Serveur
-
Le serveur propose par le protocole RMI un (ou plusieurs) objet
distribué dans ce cas il s'agit de matrices de transformation
(cf. techniques 3D).
Ces objets peuvent être lus et ecrits par différents processus locaux
ou distants ainsi la cohérence est assurée .
- Acquisition
-
Le protocole des capteurs 3D est géré grâce à la bibliothèque WTK.
Ainsi la partie acquisition est codée en C++ dans une library dynamique
(.dll ou .so).
Le programme hôte codé en java utilise l'interface JNI qui permet d'utiliser
la fonction de mise à jour décrite dans la bibliothèque C++
Le programme hôte est en java car il manipule un objet distribué
(la matrice de transformation) ainsi on utilise le protocole RMI.
- Visualisation
-
La visualisation peut se faire de deux façons :
- Un plugin VRML
- Un applet de rendu 3D 100 % java
Dans les deux cas l'objet distribué est géré par RMI donc un applet java.
la communication entre l'applet et le plugin VRML est assurée
par l'interface EAI (cf. VRML)
Liens
-
Marionnettes Virtuelles :
http://myweb.worldnet.net/~jaspart/Animacao
- Capteurs 3D :
http://www.polhemus.com/
- WTK :
http://www.sense8.com/products/index.html