Précédent | Index


Ajouter un groupe vert

Lorsqu'un avatar est animé, les parties mobiles tournent autour de leur pivot point (point d'articulation). L'articulation d'une partie choisie (d'un clic de souris) est représentée par un gros point jaune dans la fenêtre 3d.
A la présente étape tous les points d'articulation se trouvent situés à la base du torse. Pour déplacer le point d'articulation destiné à une partie on utilise un CenterJoint node (Noeud Centre d'articulation).

Cliquez-tirez un nouveau GroupBuild (Groupe constructeur) comme niveau inférieur d'une fratrie et ajustez son champ marker au vert clair:

 

Déplacer les points d'articulation

Pour chaque partie que nous désirons animer individuellement nous devons lui ajouter un CenterJoint node (Noeud Centre d'articulation) dans le groupe vert:

Le CenterJoint node (Centre d'articulation) est facile à comprendre,

si au premier abord on admet que le seul champ qu'il faut changer pour déplacer le point d'articulation est le champ translation.

De cette façon nous pourrions déplacer simplement chaque point d'articulation à partir de la base du torse. Le CenterJoint node (Centre d'articulation) se comportera ainsi pour autant que le champ numOf restera égal à 0.
Il est plus convenable cependant, si nous partons d'un point d'articulation situé sur un vertex (sommet), que ce sommet appartienne à la même partie que celle qui est référencée par le CenterJoint node (Centre d'articulation).

Ceci devient possible si nous utilisons les champs fromVertex and numOf.

En effet chaque sommet est automatiquement affecté d'un numéro, de sorte qu'on peut le désigner par un nombre. Les sommets de chaque partie sont numérotés de 0 au nombre total de sommets dans la partie moins 1.

Le CenterJoint node (Centre d'articulation) désigne un sommet par son champ fromVertex .

Le champ numOf désigne le nombre total de sommets situés après le sommet de référence qui seront additionnés puis moyennisés pour fixer la position du point d'articulation.

Avec un numOf égal à 1, le champ translation provoquera au contraire à un déplacement relatif à un seul vertex. De la sorte avec numOf égal à 1, et si nous fixons le champ translation à 0 0 0, le point d'articulation de la partie en cause sera situé au même lieu que le sommet désigné par le champ  fromVertex.

Ici nous n'utilisons qu'un vertex et nous laissons le fromVertex à zero, puisque zéro est le nom du premier sommet de chaque partie.

Ajustez les champs de chaque CenterJoint node (Centre d'articulation) à:

Part fromVertex numOf translation
pelvis 0 1 0 .06 0
neck 0 1 0 .015 0
head 0 1 0 0 0
l_eyeball 0 1 0 0 .045
r_eyeball 0 1 0 0 .045
l_shoulder 0 1 .03 0 0
l_elbow 0 1 .02 0 0
l_wrist 0 1 .01 0 0
r_shoulder 0 1 -.03 0 0
r_elbow 0 1 -.02 0 0
r_wrist 0 1 -.01 0 0
l_hip 0 1 0 -.05 0
l_knee 0 1 0 -.03 0
l_ankle 0 1 0 -.025 -.04
r_hip 0 1 0 -.05 0
r_knee 0 1 0 -.03 0
r_ankle 0 1 0 -.025 -.04



Précédent | Index



Copyright © 2000-2006 Graham Perrett thyme@seamless3d.com
Matthieu, pour la traduction en français autorisée par Thyme