TOMB-RAIDER-EDITOR.com

image
image
image



Chapitre 3: l'éditeur d'arborescence de meshes et la structure des animations sous Tomb Raider.

Tout d’abord, nous allons revenir sur l’exercice de la fin du chapitre précédent. Une toute nouvelle animation devait être créée au cours de laquelle le serpent, sur un espace de 30 frames, devait bouger sa tête vers le bas de 15 degrés, puis vers le haut de 15 degrés en répétant ces mouvements trois fois. Il y a deux façons de faire pour cela. La première et également la plus simple, est d’utiliser l’assistant d’animation, mais nous devons employer quelques considérations fondamentales. En tout, le serpent devait bouger sa tête six fois (trois fois vers le haut et trois fois vers le bas). Nous savons que nous devons fournir à l’assistant d’animation le premier et le dernier frame d’une animation, et Wadmerger calcule automatiquement tous les frames entre eux pour créer l’animation finale. Du fait que la tête bouge toujours du meme nombre de degrés, dans le dernier frame de l’animation, elle sera exactement dans la même position qu’au départ. Par conséquent, nous ne pouvons entrer simplement 30 frames comme longueur d’animation, car les frames 1 et 30 étant identiques, le résultat serait : pas d’animation du tout. Comment pouvons nous contourner ce problème ? Maintenant nous devons utiliser l’assistant d’animation à plusieurs endroits de l’animation, 6 fois exactement. Si l’animation de 30 frames doit être divisée en 6 mouvements de tête, comment est-ce possible au sein d’une même animation ? 30 / 6 = 5 càd chaque mouvement comporte 5 frames.

Nous allons à présent faire cela pas à pas :

1. Sélectionnez l’animation 0, puis cliquez sur Frame = > DELETE all Frames. Ceci rend disponible une animation complètement vide.
2. Démarrez l’assistant d’animation
3. Le premier frame est déjà correct, par conséquent, cliquez sur « NEXT ». Maintenant, faites un clic droit sur le Mesh 11 (la tête), puis sur le bouton avec la flèche ronde. La fenêtre des axes indique Z =34 et nous voulons maintenant ajouter 15 (le nombre de degrés que nous voulons que la tête bouge). Aussi, changez la valeur en 49 puis cliquez sur « OK ». Maintenant, le serpent baisse la tête de 15 degrés. Cliquez de nouveau sur NEXT.
4. Tapez 5 comme longueur d’animation et 0 comme frame de départ (Startframe). Cliquez sur « finish ». Ceci nous donne la première partie de notre animation.
5. Maintenant, nous devons répéter la procédure depuis l’étape 3 avec comme différence que nous retirons 15, pour que la tête se lève de nouveau de 15 degrés. L’animation commence cette fois au frame 5. En tout, le même procédé est répété six fois jusquà ce que notre animation soit complètement terminée. Ceci fut la méthode la plus simple, à l’aide de l’assistant d’animation.

La seconde possibilité consiste à créer l’ensemble des 30 frames manuellement avec l’aide d’une calculatrice de poche, pour calculer combien de degrés doit bouger la tête dans chaque frame, vers le bas ou vers le haut. Cette méthode fait perdre beaucoup plus de temps, cependant elle convient très bien pour s’entraîner. Nous allons maintenant passer à quelque chose de nouveau.

Tutoriel Wadmerger


Nous avons abordé la création de nos propres animations, mais maintenant nous devons apprendre les “structures” et caractéristiques des animations. Il est très important de comprendre pouquoi par exemple, un soldat dans un slot SAS n’est pas pareil qu’un autre ennemi humain dans des slots Baddy 1 ou 2. Pour cela, nous allons maintenant aborder l’éditeur de MeshTree. Vous trouverez le bouton adéquat pour l’ouvrir dans le coin en bas à droite de l’éditeur d’animation. Après l’avoir ouvert, vous devriez voir cette fenêtre :

Tutoriel Wadmerger


Si vous regardez de plus près la manière dont les meshes sont connectés, alors cette “liste” vous fera penser à un arbre généalogique. Egalement, sous l’éditeur de Meshes, vous pouvez spécifier l’endroit où doit se trouver le mesh dans l’arborescence. Ceci est très important pour l’animation car si vous faites pivoter un mesh, d’autres meshes vont également pivoter automatiquement. Egalement, la logique derrière cela correspond bien à celle d’un arbre généalogique. En partant du Mesh 0, tous les autres meshes sont connectés entre eux. C’est construit comme un véritable arbre généalotique avec des « enfants » et des « parents ». Dans l’arborescence des meshes du serpent, le Mesh 0 représente un « parent » du Mesh 1. Le Mesh 1 est par conséquent l’ “enfant”. En même temps, le Mesh 1 est également le “parent” du Mesh 2, lequel est l’enfant du Mesh 1. Et ainsi de suite.

Les meshes 12 et 13 sont finalement des enfants du Mesh 0 mais ne possèdent pas d’enfants toutefois. Pourquoi cette relation parent/enfant est-elle si importante ? Fondamentalement, un « enfant » bouge ou pivote «toujours en même temps que son parent. Dans ce cas, cela signifie que tous les autres meshes bougent ou pivotent avec le mesh 0 parce qu’ils sont tous « liés » au mesh 0 comme on peut le voir au moyen des lignes. Si vous avez pr exemple fait pivoter le Mesh 7, les Meshes 8, 9, 10 et 11 bougent également, ce sont les “enfants”, “petits enfants” “arrière petits enfants” etc… du mesh 7. Par contre, tous les meshes au dessus de Mesh 7 ne bougeront pas, car ce ne sont pas des « enfants » du Mesh 7 mais des « parents », « grand parents », arrière grand parents » etc… Les meshes 12 et 13 ne bougeront pas non plus car ils sont liés uniquement au Mesh 0. Cela semble bien compliqué mais avec le temps vous serez capable de vous déplacer rapidement dans l’arborescence des meshes.

En règle générale, il est toujours conseillé d’étudier l’arborescence des meshes d’un adversaire avant de construire une nouvelle animation afin de mieux comprendre quels meshes sont connectés et lesquels ne le sont pas. De plus, il est très important pour avoir des animations réalistes de fournir un Mesh Tree correct. Par exemple, vous avez un adversaire humain (Baddy, etc.) et vous voulez qu'’il lève la cuisse. Il est très important que la partie inférieure de la jambe soit un « enfant » de la cuisse, autrement elle ne bougera pas. De même, le pied doit être un « enfant » de la jambe inférieure. Avez-vous déjà essayé de lever la cuisse tout en laissant votre pied au sol ? C’est impossible. Le pied se lève comme votre cuisse. Vous savez maintenant ce qu’est un Mesh Tree et comment il est construit. Toutefois, comment pouvez-vous le changer ? C’est là où les boutons et cases à cocher sur le bord entrent en jeu. Avec le bouton « ADD », vous pouvez ajouter un mesh supplémentaire à votre objet. Ceci n’est toutefois utilisé qu’avec STRPix. Par conséquent, nous allons laisser ce bouton pour le moment et nous y reviendrons plus tard. Le bouton « Replace » ne semble pas fonctionner cas il fait planter régulièrement le logiciel. Avec le bouton « DELETE » vous pouvez supprimer le mesh sélectionné. Le bouton « UP » permet de faire remonter un mesh dans l’arborescence alors que le bouton “DOWN” permet de le faire descendre.Il est important ici de noter que non seulement les meshes de la liste montent et descendent mais l’objet également. Vous devrez utiliser le bouton MOVE après coup pour le remettre à la bonne place. Avec les cases à cocher, on peut spécifier si un mesh est un parent ou un enfant. On peut ignorer le bouton Dummy il permet à Lara d’avoir des meshes factices dans le slot Lara remplacés par les meshes corrects depuis le slot LARA_SKIN. Si l’on veut spécifier un mesh en tant qu’enfant, alors on doit laisser les cases décochées. Si le mesh doit être désigné comme parent, alors “Push” doit être coché. La dernière case, “Pop” signifie retour au niveau parent. Si un mesh a une série d’enfants, petits enfants, arrière petits enfants, etc… et que l’on clique maintenant sur "Pop" sur le mesh suivant, alors une ligne vers le Mesh 0 se formera directement sur ce mesh.

Dans l’objet, ce mesh se connectera au mesh 0 si aucun autre mesh au-dessus dans l’arborescence n’a pour attribut « Push ». Afin de clarifier, ouvrez Scorpion.mip du snake wad sous l’éditeur d’animations et ouvrez l’éditeur de meshes. Cliquez maintenant sur le Mesh 19 et décochez la case « Push ». Les meshes 21, 22 et 23 s’alignaient précédemment sur le Mesh 19. Mais maintenant que le mesh 19 n’est plus coché dans la case « Push », les pinces du Scorpion s’alignent à présent sur le mesh 17 car c’est dorénavant le premier mesh ayant la case « Push » cochée. Fermez l’éditeur de meshes et regardez le résultat. Maintenant, utilisez « Move » pour repositionner les meshes 21 et 24 sur le corps. Regardez maintenant l’une des animations. Le scorpion ne bouge plus correctement, bien que les pinces soient de nouveau rattachées au corps. Que s’est-il donc passé ? Nous avons donc rattaché les pinces au corps mais celles-ci dépendent des animations du Mesh 17, car « push » est coché et que c’ est le « push » suivant par rapport au Mesh 21. Vous voyez donc que ce n’est pas simple du tout de générer une bonne arborescence de meshes. Vous devez donc vous familiariser d’abord avec les ennemis d’origine si vous avez l’intention de construire un adversaire de toutes pièces. Le but de cette partie était d’expliquer comment les meshes « réagissent » les uns par rapport aux autres, afin de prendre ceci en considération lors des animations et ainsi d’éviter de désagréables surprises. En théorie, il doit y avoir un équilibre entre le nombre de meshes « Pop » et le nombre de meshes « Push ».

Les autres caractéristiques d’animation ne sont pas aussi compliquées. Juste à côté du sélecteur de frames, vous trouverez quelques champs (entourés de rouge). Ceux-ci sont importants pour la construction d’ennemis car certains ont une influence sur l’animation. Par exemple, Speed. Le nombre saisi ici détermine la vitesse à laquelle l’objet se déplace lorsque l’animation est jouée. Plus le chiffre est élevé, plus l’objet bouge rapidement. Un bon exemple est Lara. Lorsqu’elle court normalement, la valeur de la vitesse est de 42. Lorsqu’elle sprinte, elle a une valeur de 82. Le champ Acceleration ajoute la valeur indiquée à la vitesse de l’objet et ce, pour chaque frame de l’animation. Ceci est utilisé lorsque les objets commencent ou s’arrêtent de bouger (utilisez une valeur négative pour le ralentir).

Framerate value : la valeur normale est 1. Plus le chiffre est élevé, plus il y a de frames calculés par le moteur de jeu entre les frames définis (les frames indiqués sous l’éditeur d’animations). Avec une valeur de 2, l’animation a un frame ajouté entre les frames définis, avec 4, l’animation comporte 3 frames ajoutés, etc… Vous pouvez utiliser cela pour étendre la longueur d’une animation. Par exemple, si vous aviez une porte ayant une animation de départ qui dure 1 seconde (30 frames), vous pourriez l’étendre afin qu’elle s’ouvre plus lentement en augmentant le framerate à 4. La porte prendrait alors 4 secondes (120 frames) pour s’ouvrir. Assurez-vous d’ajuster toute commande d’animation existante et tout changement de StateID (voir partie suivante) lorsque vous changez le framerate de l’animation. La fonction du champ StateID sera développée dans le prochain chapitre. Le champ d’animation suivant indique l’animation que l’objet déclenchera après l’animation courante, et le champ next frame indique par quel frame l’objet commencera dans la nouvelle animation.

Tutoriel Wadmerger


<<<---Précédente  Sommaire  Suivante--->>>



Retour
image
Mentions Légales    ©Copyright 2007-2009© tomb-raider-editor.com Tous droits réservés
Dernière mise à jour : 01/01/2009