|
Le "Morphing" des Modèles
Le Noeud ModelMorpher
(déformation ou "morphing" de modèles) rend très facile la déformation (ou le "morphing")
de toute une séquence de Noeuds Seamless
.
Essayez simplement ceci pour voir le ModelMorpher en action en à peine 10 clics :
1 - Créez un nouveau fichier smls en cliquant
dans la barre d'outils principale.
2 - Ouvrez la fenêtre de l'arbre logique de scène
et ajoutez un NurbsLathe
(tour NURBS) dans la part
(Partie) choisie
(il suffit de cliquer la vignette NurbsLathe
dans la barre d'outils principale).
3 - Cliquez la vignette ModelMorpher
("morphing" de modèles) dans la barre d'outils principale.
4 - Choisissez le deuxième Noeud NurbsLathe
(tour NURBS) dans la scène:

puis cliquez-tirez un ou plusieurs points de contrôle.
5 - Choisissez le Noeud Anim
(Animation) puis cliquez play
(marche).
Vous y êtes !
Vous aurez remarqué que le Noeud ModelSequence
(séquence dans un modèle) contient 3 Noeuds Seamless
mais il serait plus exact de considérer qu'il n'y en a que deux,
parce que le dernier Noeud Seamless est une simple référence au premier
et par conséquent n'en fait pas un de plus, c'est le même.
Le second Noeud Seamless est une copie à l'identique du premier, au
moins jusqu'à ce qu'on commence à cliquer-tirer les points de contrôle
de son Lathe (tour).
On peut ajouter une nouvelle copie à l'identique de tout Noeud Seamless
en pressant la clé "Ctrl" tout en tirant ce Noeud
choisi dans la liste vers tout autre emplacement dans l'arbre logique:

Si vous tenez à ce que la liste contienne plus de 3 Noeuds Seamless,
réglez le champ key (clé)
du Noeud ModelSequence
pour qu'il soit égal au nombre de Noeuds Seamless
que le ModelSequence
doit en contenir.
Quand un ModelMorpher ("morphing" de modèles) est exporté
en VRML/X3D il est converti en Noeud Shape et chaque ModelSequence
contenu dans le ModelMorpher est converti en un Noeud CoordinateInterpolator.
Si l'on se sert du ModelMorpher pour équiper de gestes un avatar,
un Noeud ModelSequence
peut être utilisé pour chaque geste.
Dans l'image suivante:

nous pouvons voir un GestureGroup (groupe de gestes)
contenant deux Noeuds Anim (Animation) pour deux gestes.
Le script du premier geste anime le premier ModelSequence
seq0 et le script pour le deuxième geste anime le second ModelSequence
seq1.
Le Noeud ModelMorpher ("morphing" de modèles) est si facile
à mettre en oeuvre que tout débutant trouvera idéal de l'utiliser,
tant les résultats peuvent être aussi rapides qu'intéressants.
Toutefois des problèmes peuvent surgir dès qu'un changement dans
un Noeud Seamless modifie le nombre de ses sommets dès lors
différent de celui qui est contenu dans la Noeud ModelMorpher
entier. Si on tente de le faire, cela provoquera vraisemblablement
un crash (un "arrêt non programmé") de Seamless3d.
Le plus sûr moyen de faire cette erreur avec un Noeud Lathe (tour)
consiste à oublier qu'une de ses extrémités ne correspond pas
avec les autres Lathes (ne correspond pas, c'est à dire
non définie comme extrémité ouverte ou fermée). Ceci, parce que Seamless3d
terminera l'extrémité de la forme du Lathe (tour) sur
un simple sommet, au lieu de le faire sur un anneau de sommets
quand le point de contrôle de l'extrémité est fermé (point x == 0).
Cela n'arrivera pas automatiquement si le Lathe (tour)
est converti en un NurbsPatch (Pièce NURBS) ou si les
parts (Parties) sont converties en Parties bleues
qui permettront dès lors d'utiliser le immediate radial tug
(Tracteur de collines immédiat).
Si vous voulez changer la couleur il vous suffit de changer celle
du premier Noeud Seamless dans le ModelMorpher mais
la couleur ne sera pas mise à jour avant que vous n'ayez fermé puis re-ouvert
Seamless3D. Autre solution, faites une copie du Noeud Seamless du haut
puis effacez l'ancien (c'est l'addition d'un nouveau Noeud Seamless
qui oblige le ModelMorpher à réinitialiser en interne).
Note: n'essayez pas de copier un Noeud ModelSequence
existant de la même façon que l'on copie d'habitude un Noeud Seamless.
Cela sera possible dans l'avenir, mais en attendant contentez vous
d'ajouter un nouveau Noeud ModelSequence depuis la barre
des nouveaux Noeuds et copiez dedans les Noeuds Seamless à partir
d'un autre, ou de ce Noeud ModelSequence "existant".
|