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 manipulation de marionnettes virtuelles constitue une attraction amusante et intrigante pour un jeune public.

Jusqu'à présent l'installation est la suivante :

Evolution du dispositif

L'addition d'un support Web à cette attraction est intéressante pour plusieurs raisons : 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

Appli_Aquisition  {---------} Serveur_Transform {--------} Client Web
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 :
  1. Un plugin VRML
  2. 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