Premier chapitre, la modèlisation de base : |
Deuxième chapitre, le placement des textures : |
Troisième chapitre, la liaison au Biped : |
Généralités : |
Si votre personnage est un être humain standard, les animation seront grandement facilitées grâce aux nombreuses animations disponibles , en effet vous trouverez des fichiers biped pour toute sortes de mouvements, vous pouvez également plaquer les animations de personnages de Half-Life si vous avez les sources fournies par Valve. |
Pour utiliser des animations existantes , il suffit d'ouvrir la scène max des sources correspondant à l'animation, puis d'enregistrer l'animation au format biped (dans le panneau Biped). Puis d'ouvrir la scène contenant le personnage à animer et de charger le fichier biped. |
C'est une des application les plus fantastiques de Character Studio, une animation réalisée pour un personnage peut être plaquée à un autre personnage même si son squelette biped est différent en proportions. |
Pour savoir quelles animations il faudra réaliser, il suffit de jeter un coup d'oeil aux sources ou alors de regarder la liste des animations dans le fichier de compilation du modèle, le fichier.qc. |
Avant de commencer à animer il faut penser au fait que les diverses animation devront pouvoir s'enchaîner sans trop de heurts. Si le personnage est au repos et doit partir en courant il faudra que la position de repos ne soit pas trop éloignée de la position de départ de la course. |
Toutefois il n'est pas nécessaire que les enchaînements soient parfaits, de toute façon ce serait inutile, car rien ne garantit que le personnage va attendre que l'animation de repos soit terminée pour partir en courrant. |
Dans le feu de l'action on ne remarquera rien des fautes d'enchaînement. |
De plus pour les animations de marche ou de course, il est impératif qu'elles soient en boucle, car la course ou la marche ont des durées variables. Une animation en boucle est une animation dans laquelle la position de départ est la même que celle d'arrivée. |
Il y a des animations de base et des animations particulières pour les séquences de script (scripted sequence). Les animations de base sont indispensables mais les autre sont facultatives, c'est seulement si une action particulière doit être accomplie qu'on en fera l'animation. |
Les animations indispensables : |
Prenons par exemple un modèle complexe tel que le soldat humain (human_grunt). |
Voici la liste des animations indispensables : |
Walk : c'est la marche, animation en boucle |
Run : c'est la course, animation en boucle |
Victorydance : dance de victoire, lorsque l'adversaire est éliminé. |
Cower : animation de mise à couvert (accroupis) lors d'un tir de grenade |
Smflinch : mouvement de douleur légère |
Leftlegsmflinch : douleur à la jambe gauche |
Rightlegsmflinch : douleur à la jambe droite |
Rightarmflinch : douleur au bras droit |
Leftarmflinch : douleur au bras gauche |
Launchgrenade : tir d'une grenade avec le lanceur |
Throwgrenade : lancer de la grenade |
Idle1 : séquence de pause , animation en boucle |
Idle2 : séquence de pause , animation en boucle |
Combatidle : position de visée en attente du combat, en boucle |
Frontkick : coup de pied pour l'attaque de mèlée. |
Crouching_idle : pause en position accroupie, en boucle |
Crouchshootcycle (down) : tir vers le bas en position accroupie. |
Crouchshootcycle (up) : tir vers le haut en position accroupie. |
Shootcycle (down) : tir vers le bas en position debout. |
Shootcycle (up) : tir vers le haut en position debout. |
Reload : recharge de l'arme |
Advancesignal : signal en avant! |
Flanksignal : signal de côté! |
Retreatsignal : battre en retraite! |
Dropgrenade : pose une grenade au sol |
Limpingwalk : marche boiteuse (blessé) |
Limpingrun : course boiteuse (blessé) |
180L : demi tour à gauche |
180R : demi tour à droite |
Strafeleft : marche en crabe à gauche |
Straferight : marche en crabe à droite |
En fait toutes ces animations ne sont pas réellement indispensables, si elles sont absentes, le personnage ne fera rien, ça ne bloquera pas le moteur du jeu. |
Tous les personnages n'ont pas toute ces animations, j'ai utilisé cet exemple pour avoir un évantail large des possibilités du moteur. |
En fait une animation de pause, une animation de marche, une pour la course, une autre pour la position accroupie, les 4 animations de tir debout et accroupie suffisent pour un modèle simple, on perdra en réalisme mais c'est suffisant pour rendre un personnage vivant. |
Préparations pour l'animation : |
Il est indispensable que le personnage se trouve à l'origine X=0, Y=0, Z=0 au début de l'animation, sinon il va faire un saut brusque au démarrage, le Pelvis doit se trouver sur l'origine et les pied sur le sol (s'aide de la grille). Si on utilise les footsteps de Character Studio , il faudra les translater pour que le personnage se trouve sur l'origine au moment du début de la séquence d'animation. |
Souvent les animations existantes ne sont pas en boucle, ou alors le départ se fait dans une position indésirable, on va alors n'utiliser qu'une partie de l'animation, en choisissant une séquence qui est en boucle. |
Par exemple pour la marche, le modèle est en position de repos, puis démarre , marche en boucle, ralentit et s'arrête. |
Dans Half-Life on n'utilisera que la partie en boucle de l'animation, on va repèrer le moment du début de la boucle de la marche, puis la fin de la boucle. On translate ensuite les footsteps pour que le modèle soit au dessus de l'origine au moment du départ de la boucle. |
On configure alors le temps de l'animation, image de départ, longueur et fin, pour qu'il ne reste que la boucle sur la glissière d'animation. On lance l'animation pour vérifier que la boucle est correcte et on corrige si nécessaire. |
Modification d'une animation et animation libre : |
Après avoir procédé aux préparatifs ci-dessus, il faut encore ajuster les mouvements du personnage, position des mains, de l'arme, pour individualiser l'animation. |
Mais souvent il faudra créer une animation libre pour certains mouvements, il faudra alors créer l'animation de toute pièce. |
Après avoir enclenché le bouton animer, il faut sélectionner tous les éléments du squelette et créer une clé de départ pour chacun, ce n'est pas indispensable, mais très utile et évite des problèmes par la suite, car si on veut créer une boucle, il sera très simple de copier la clé de départ et de la placer à la fin. |
Je ne vais pas détailler la technique d'animation, mais donner juste quelques indications. |
Première chose , ne pas hésiter à étudier de façon approfondie les animations existantes des personnages du jeu. Les sources contiennent de nombreux exemples et Milkshape permet de décompiler les fichiers mdl et d'étudier toutes les animations du jeu. |
Celà sera nécessaire pour voir de quelle longueur et de quelle manière elles ont été réalisées. C'est très important car ensuite il faudra compiler le modèle et pour celà rester dans les limites du raisonnable. |
Il y a un cas particulier, c'est celui des animations de tir, elles sont chaque fois faites debout et accroupis, de plus, il faut en faire une en tirant vers le haut et une autre vers le bas. Ce qui fait 4 animations, par contre il ne faut pas faire d'animation de tir horizontal, c'est le moteur du jeu qui va faire la moyenne des deux animations, vers le bas et vers le haut. Il faut donc qu'elles aient la même longueur et la même allure générale. Pour simplifier on fait une animation horizontale qu'on modifie par la suite en faisant pivoter le torse vers le haut et vers le bas et on anime ensuite. |
La presque totalité des animations devra être en boucle, c'est la logique qui vous fera décider si c'est nécessaire ou non. |
Il faudra aussi faire attention aux positions de début et de fin d'animation pour qu'elles puissent se fondre les unes dans les autre sans trop de secousses. |
Par exemple la fin de la pause devrait se fondre dans le début de l'autre animation de pause, ou de dans le début de celle de tir . Il y a donc certaines limites à la liberté d'animation pour les mouvements standards. |
Exportation des animations : |
Pour exporter, c'est très simple, il suffit d'exporter comme pour la référence, mais en choisissant Skelettale animation au lieu de reference frame. |
Il faut aussi choisir un nom bien parlant pour pouvoir s'y retrouver lorsqu'il faudra compiler le modèle. |