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
|