FI/SPECIAL-ETE-98

Humains Virtuels sur le WEB

Christian Babski, EPFL-DI,
e-mail: Christian.Babski@epfl.ch

Ronan Boulic, EPFL-DI,
e-mail:Ronan.Boulic@epfl.ch

Introduction

De la même manière que le langage HTML s'est imposé pour la représentation des pages WEB, VRML (Virtual Reality Modeling Language) [http:// www.vrml. org/ ]est devenu un standard pour représenter des données 3D sur le WEB. Dans un premier temps, ce langage fut créé et soutenu par Silicon Graphics. L'unique manière de profiter de ce langage était de posséder une machine onéreuse bénéficiant d'accélérateurs hardware pour traiter la troisième dimension. A l'inverse, la seconde mouture de ce langage fut mise au point par un ensemble de constructeurs, plutôt que par un seul, ce qui permit à VRML de passer d'un statut de produit à celui de standard supporté par un consortium de constructeurs/développeurs. Ceci permit de voir apparaître les outils nécessaires à la visualisation des fichiers VRML sur la majorité des plates-formes disponibles sur le marché. La diffusion auprès du grand public de VRML fut d'autant plus facilitée que le développement des jeux sur PC amenèrent les constructeurs à intégrer des cartes accélératrices 3D dont bénéficièrent les applications utilisant VRML (principalement des plug-ins pour Netscape ou Internet Explorer comme CosmoPlayer de Silicon Graphics, [http://cosmosoftware. com/], mais également des applications indépendantes comme Community Place [http://sonypic.com/]).

Afin d'augmenter la portabilité des mondes VRML sur le WEB, un ensemble de groupes de travail apparut, afin de standardiser la manière de représenter certaines données à l'intérieur des mondes VRML. Là où certains groupes de travail étudient la mise au point d'une version binaire de VRML ou une manière générique d'utiliser VRML afin de réaliser des mondes 3D partagés par un ensemble de participants, un groupe de travail (HANIM [http://ece.uwaterloo.ca:80/~h-anim /]) a défini une manière générique de représenter des humains virtuels avec VRML. La première version fut partiellement basée sur un modèle d'humain synthétique mis au point à l'EPFL au laboratoire d'infographie (LIG) dirigé par Daniel Thalmann [http://ligwww.epfl.ch/] et sur un autre modèle développé au Etats Unis par Norman Badler. Une nouvelle version est en passe de voir le jour, résultat de discussions faites à travers des groupes de discussions via e-mail, où toute personne peut apporter sa contribution.

Présentation de la structure de l'humain virtuel

La définition d'un humain virtuel passe par 2 étapes principales:

Définition de la hiérarchie

C'est sur cette partie très importante que porte le travail de standardisation de la représentation d'humains dans les mondes VRML. Nous avons défini une liste exhaustive des articulations dignes d'intérêts en fonction de la précision désirée des animations (fig. 1). A chaque articulation, un ensemble de degrés de mobilité est défini allant de un jusqu'à trois degrés de liberté (uniquement des rotations, les translations, quand elles sont présentes au niveau d'une articulation, sont toujours de faibles amplitudes et donc, négligeables).

fig. 1: le squelette humain défini au LIG

Cette hiérarchie reste un sous-ensemble de la hiérarchie complète adoptée par le groupe de standardisation. Cette dernière inclut un modèle anatomique complet de la colonne vertébrale. Une telle hiérarchie représente l'ensemble maximal de degrés de liberté supporté par le standard. Toute hiérarchie possédant un sous-ensemble de ces points d'articulation est valide. Loin de limiter les possibilités, la définition d'un tel standard va permettre la compatibilité des humains virtuels à travers les mondes VRML. Comme nous allons le voir dans la section suivante, cela permettra principalement d'animer un humain virtuel avec une animation qui aura pu être produite ailleurs mais qui suivra les spécifications du standard.

Définition de l'enveloppe

Cette enveloppe peut évidemment être générée manuellement en utilisant des modeleurs 3D qui l'exporteront vers VRML. De notre côté, la génération de cette enveloppe est automatisée, via la définition d'un ensemble de couches qui vont s'additionner sur le squelette afin d'obtenir l'enveloppe finale (fig. 2).

fig. 2: Génération automatique de l'enveloppe corporelle - [http://ligwww.epfl.ch/~shen/bb.html]

Une première couche composée d'un ensemble de metaballs (sorte de sphères déformables) modélisant les muscles vient s'additionner au squelette de départ. Ces primitives possèdent des caractéristiques qui définissent leurs comportements (déformation) lorsque le squelette va bouger. L'enveloppe est alors générée à partir de ces primitives pour obtenir le résultat final. De même qu'une seule surface couvrant la totalité du corps, un ensemble de surfaces statiques peuvent être calculées pour chaque segment. Cette solution visuellement moins agréable, permet de décharger la machine du calcul de la déformation lors de l'animation.

fig. 3: le squelette nu (gauche) permettant de visualiser les articulations et le même squelette (droite) , mais habillé par un ensemble de segments rigides - [ http://ligwww.epfl.ch/~babski/StandardBody/]

Animation d'humains virtuels

Toujours en exploitant les possibilités liées à VRML, il est possible de gérer des animations afin de donner un peu de vie à ce qui fut longtemps un simple format supplémentaire pour données 3D. Evidemment, VRML peut être utilisé comme tel, mais sa spécificité apparaît dans sa capacité à gérer des événements (qui peuvent s'apparenter aux événements XWindow par exemple) et à intégrer du code (compilé ou non) afin de piloter les mondes VRML depuis un véritable programme.

fig. 4: humains virtuels en VRML mis en situation

Simplement en déclarant une dépendance entre un événement et un autre (horloge et tableau d'interpolation par exemple), il est possible de créer des animations sans faire appel à aucune programmation. Nous avons développé un ensemble d'outils qui permettent de bénéficier en VRML des capacités dont nous disposons déjà pour contrôler un humain virtuel. Il est ainsi possible d'appliquer des animations basées sur la technique des temps clé (on définit seulement la position du corps à certains moments, les positions intermédiaires étant calculées automatiquement) ou des animations issues d'une capture en temps réel des mouvements d'une véritable personne (fig. 5).

fig. 5: un humain virtuel et son squelette animé via une animation capturée en temps réel [ http://ligwww.epfl.ch/~babski/StandardBody/]

La standardisation permet d'appliquer une animation sur n'importe quel humain virtuel suivant les spécifications. Avec l'aide du système de prototypes de VRML, l'application d'une animation réalisée par une compagnie sur un humanoïde étranger peut se faire de manière complètement transparente, quelle que soit la différence entre le nombre d'articulations présentes dans l'animation et le nombre d'articulations incluses au niveau du squelette (fig. 6).

fig. 6: une même animation impliquant les doigts appliquée à un humain virtuel incluant les doigts dans sa hiérarchie et à une souris ne possédant que des mains statiques [http://ligwww.epfl.ch/~babski/StandardBody/Animation.html]

Application des humains virtuels sur le WEB

La troisième dimension devenant aussi évidente à intégrer dans une page WEB que la 2D (hypertexte HTML), cela devient un outil qui peut aider à rendre plus intuitif des interfaces qui ne le sont pas du tout pour des personnes étrangères au monde de l'informatique: il est possible de définir sa propre interface 3D pour la navigation (ajout d'un plan affichant la position actuelle de l'utilisateur, interface d'interaction avec les acteurs de synthèses, etc.). D'autre part, la nouvelle dimension peut permettre certaines choses qui n'étaient pas réalisables auparavant.

A partir de données de la première tranche de construction de l'EPFL, nous avons obtenu un modèle partiel de l'EPFL en VRML. Cette simple conversion de format 3D en VRML peut permettre à des personnes planifiant de venir à l'EPFL de pouvoir s'y balader virtuellement et repérer les lieux depuis leur PC, via l'accès à une page WEB donnée. Mais la visite peut encore être plus attrayante si l'on y ajoute quelques guides. Nous avons très logiquement peuplé cette EPFL virtuelle de quelques humanoïdes ayant chacun une tâche précise. Un premier ensemble d'humanoïdes est chargé de montrer les différentes voies de circulation; l'utilisateur peut les suivre afin de mémoriser un éventuel parcours pour se rendre dans un laboratoire donné (Fig. 7).

fig. 7: un plan classique, comme nous pouvons le trouver actuellement sur les pages WEB de l'EPFL et une visite guidée à travers les coursives de l'EPFL comme elle est actuellement réalisable avec les acteurs de synthèses

De plus ces acteurs peuvent être doués de parole. Ajouté à un ensemble d'outils permettant d'analyser les demandes de l'utilisateur, l'acteur peut alors répondre et se mouvoir en accord avec la dernière requête du visiteur. Avec ce principe, l'acteur de synthèse en VRML peut se transformer en secrétaire virtuel (Fig. 8) donnant des renseignements administratifs ou même enregistrant les nouveaux étudiants dans un service académique virtuel.

fig. 8: simulation d'un service académique virtuel. Les différents documents présents sur le comptoir font l'objets d'une présentation de la part de l'humain virtuel

VRML possède également la capacité d'établir un lien avec une application JAVA externe. Il est alors possible de contrôler le monde VRML depuis JAVA. Cette passerelle ouvre la porte au langage compilé qu'est JAVA, les langages de programmation script interprétés étant d'une puissance et d'une rapidité limitée. Cette solution ferme cependant certaines portes, la liaison JAVA/VRML n'étant pas implémentée par tous les navigateurs VRML.

Conclusion

VRML est désormais totalement intégré au WEB. Malgré certaines petites imperfections résiduelles comme le volume des fichiers VRML par exemple, qui reste un obstacle face à la saturation des réseaux classiques (malgré l'utilisation d'outils de compression de fichiers classique) et grâce à l'augmentation de la puissance des machines grand public dans le domaine de la 3D, VRML peut devenir un complément pour les pages WEB classiques. Le développement de standard pour la représentation de certaines données en VRML peut permettre de donner une nouvelle dimension à la diffusion de résultats de recherche en 3D en s'affranchissant de la dépendance du matériel qui était omniprésente auparavant.


retour au sommaire du Flash informatique spécial été 98
retour à la page principale des Flash informatique
Vos commentaires
© FI-spécial été du 1er septembre 1998