Introduction

Joie et bonheur, Contact 6 est pour bientôt et j'ai eu le plaisir d'y jeter un coup d'oeil :) Mais ce n'est pas une version finie (d'ailleurs certaines parties ne peuvent pas être encore testées comme précisé plus loin).



Tout d'abord, la première chose qu'on ne peux PAS manquer de remarquer est l'apparition d'un nouveau logo au début, au chargement:



Non, ce n'est pas une invasion d'extraterrestres de la planète Song. SoNG est le nom d'un projet de la sus-dite companie et il faut croire qu'ils ont voulu l'intégrer comme une sous-partie du vaste projet.
Plus d'infos à ce propos à http://song.blaxxun.de et il y a même, à ce que j'ai compris, un serveur streaming mpeg-4 en beta (ohhh, quelque chose à tester pour la prochaine fois :) c'est à dire qu'au lieu que les visiteurs téléchargent tout le fichier mpeg-4 d'un coup pour le voir et l'entendre, ils le regardent au fur et à mesure.


Animations des personnages

La grande nouveauté, c'est l'intégration des spécificités h-anim 2001 (http://www.h-anim.org), c'est à dire que tel Character Studio dans 3ds max, au lieu de changer chaque point quand le personnage bouge, on dit qu'on veut bouger le bras de cette façon, le pied de telle autre, etc, et c'est Contact qui en déduit comme les points doivent se déformer.
Pour information, voici les 5 nodes s'y rapportant (5 mais la liste est susceptible de s'agrandir d'ici à la sortie): Joint, Segment, Site, Displacer et Humanoid.
Les mouvements sont fluides et pour l'instant je n'ai pas vu d'erreur dans les déformations à part pour un exemple mais ça ne venait pas de contact à mon humble avis, mais plutôt un point qui n'avait été affecté à rien, comme si le bout de votre nez ne vous suivait pas quand vous marchez. Et donc en résultat de cela, et en particulier pour les personnage compliqué, il y a un net gain de taille de fichier car c'est tout un ensemble que vous modifier et non plus au détail (comme par exemple si vous deviez transporter un cageot d'orange, il est nettement plus lent de transporter les oranges une par une qu'ensemble. Mais ce n'est pas parce que cela s'appelle h-anim (human animation) que cela se limite aux humains, cela marche même avec une araignée à 53 pattes !
Après il ne reste plus qu'à convertir 3ds en vrml, et ça par contre, je n'ai pas encore tout à fait saisi comment, du moins, pas pour certains paramètres tels que le weighting qui est... bonne question eh. Je suppose que c'est une sorte de pourcentage du mouvement total du groupe, tel le point A ne bougera que de 5 centimètres si le groupe auquel il appartient bouge de 10 centimètres.
Espérons donc que Avatar Studio 3 utilisera ce procédé *croisons les doigts*



3D Chat

L'interface reste la même, quelques icônes sont différentes, mais vous serez en terrain connu. On remaquera l'apparition d'un charmant petit son quand on va dans une autre chatroom. Par contre, je ne sais pas s'il y a de nouveaux paramètres de définition des chatrooms (en particulier je me rappelle d'un nommé "card" qui était inutilisé dans la précédente version, mais cela on ne le saura probablement que quand il y aura la doc à ce sujet).



Toujours plus !

Egalement en nouveauté, une nouvelle fonction Sound2{} pour insérer des sons dans le monde plus paramétrables que Sound{}.
Je n'ai pas pu la tester car je n'ai que la liste des paramètres du prototype, mais on peut en déduire leur usage. Par exemple pour vélocité, je suppose que contrairement à ce qui se passe actuellement, le son met un certain temps pour arriver depuis le lieu d'émission, tout comme en réalité. Ainsi on voit aussi qu'on peut specifier un volume, non seulement dans un certain rayon autour du lieu d'émission, mais aussi en dehors maintenant.

Sound2[
        exposedField SFVec3f direction
        exposedField SFFloat intensity
        exposedField SFVec3f location
        exposedField SFFloat maxBack
        exposedField SFFloat maxFront
        exposedField SFFloat minBack
        exposedField SFFloat minFront
        exposedField SFFloat priority
        exposedField SFNode source
        field SFBool spatialize
        exposedField SFBool updateVelocity
        exposedField SFVec3f velocity
        exposedField SFFloat insideConeAngle
        exposedField SFFloat outsideConeAngle
        exposedField SFFloat outsideVolume
        exposedField MFNode parameter
]

Une autre fonction que je n'ai pas pu tester pour la même raison, ProceduralTexture, est plus mystérieuse. Vu qu'il n'y a pas de paramètre "children", la texture n'est pas crée à partir d'un object. Pas de paramètre de type MFString (plusieurs chaines de caractères), donc elle n'est pas crée non plus à partir d'un mélange d'images. Regardons quels paramètres peuvent contenir plusieurs valeurs (ceux commencant par "MF" ): on voit que ce sont "parameter", "color" et "alpha" qui sont donc, à priori, les conteneurs des variables pour chaque "point", tandis que les autres paramètres s'appliquent à l'ensemble de la texture. Ma théorie est que c'est peut-être une texture définie pixel par pixel comme avec la fonction PixelTexture{} avec en plus une valeur de transparence pour chaque point.

ProceduralTexture[
        exposedField SFString format
        exposedField SFInt32 pixelWidth
        exposedField SFInt32 pixelHeight
        exposedField SFInt32 pixelDepth
        exposedField SFString mode
        exposedField MFFloat parameter
        exposedField SFVec3f scale
        exposedField MFColor color
        exposedField MFFloat alpha
]

Bah, il fallait bien garder un peu de suspens. Tout cela ajouté aux autres effets tels que les particules, ombres, multitextures etc... et vous obtiendrez des mondes de qualité.
Preuve une fois de plus que le VRML n'est pas mort !



Article rédigé par Cécile Muller, le 26/02/2002


 
14 internaute(s) sur Web3d-fr
Copyright Web3d-fr 2001-2004