Animation et Exportation des armes sous UT 2003

Écrit le 28/11/2003 par svinkles
Dernière mise à jour : 05/04/2006

Animation

Avant de commencer toutes choses, ce tutorial est basée sur une arme que j'ai faite dont voila 2 images d'ensemble qui permettront de mieux comprendre certaines images du tutorial:

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut14.jpg
http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut15.jpg

Mais pour chaque armes le principe est le meme.
Avant de commencer il faut avoir cree des mains (model+texture) et les avoir attaché au biped (avec le modificateur physique en rigid, no blending), pour ceux qui ne connaissent pas il y a pas mal de tutoriaux sur le net concernant Character Studio sinon voir la partie "Bones et physique" de ce tutorial, c'est a peu pres la meme chose sauf qu'au lieu d'initialiser sur le bone on initialise sur le biped.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut25.jpg

Ensuite, il faut importer l'arme (File/Merge) dans le scene, puis scaler l'arme pour qu'elle est les bonnes dimensions par rapport aux mains. Ensuite regler le biped de façon à ce qu'il soit en position de tenir l'arme.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut01.jpg

Alors ensuite il va falloir creer le reseau de bones qui va servir à animer chaque partie de l'arme, pour le pm par exemple il va falloir animer le haut de l'arme qui va reculer, la gachette et le chargeur.Placez donc vos bones de façon a pouvoir animer chaque partie de l'arme comme sur l'image:

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut02.jpg

Il faut donc un bone pour le haut de l'arme, un bone pour le gachette, un bone pour le chargeur le tout linker au dernier bonne qui va servir à attacher le reste de l'arme. Ensuite il faut linker
http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut06.jpg le reseau de bones a la main du biped, comme ceci:

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut03.jpg

Là normalement si on bouge le bras du biped le reseau de bones doit suivre.
Bon maintenant il faut appliquer le modificateur Physique a l'arme, puis cliquer sur ce bouton :http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut04.jpg, puis cliquer sur le bone qui sert à relier le resau de bones au biped. une boite dialogue apparait, il faut regler les differentes options comme ceci:

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut05.jpg

Ensuite il faut passer en mode vertex dans le modificateur Physique, selectionner les vertices de la gachete par exemple(les vertices sont bleu, cf image 1 ci dessous), cliquer sur "Assign to Link" (ne pas oublier de cocher le croix verte), et cliquer sur le lien qui va servir à animer la gachette(les vertices sont verte et le lien en rouge, cf image 1 ci dessous).

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut07.jpg
http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut08.jpg

Faire de meme pour toute les autres parties de l' arme a animer: les vertices du chargeur linker à leur lien respectif, les vertices du haut de l'arme a leur lien respectif et les reste des vertices au lien dans le manche (le lien est en rouge et j'ai caché les vertices du chargeur, de la gachette et du haut de l'arme).

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut09.jpg

Une fois tout ceci fini normalement si on bouge le bras du bied toutes l'armes doit suivre.

Tout d'abord pour les animations, il va falloir les enchainer a la suite (exemple de la frame 0 à 10 faire le tir, de la frame 11-20 faire le reload, de la frame 21-30 quand on prends l'arme et de 31-40 quand on range l'arme...). je vais vous faire comme exemple l'animation de quand on range l'arme et le debut de l'animation de tir (pour montrer avec les bones).
-Animation de ranger l'arme:
Donc il faut se placer sur le frame 0, mettre en mode animation et deplacer le biped de façon a etre en position de tir.Puis il faut selectionner le bras, l'avant bras et la main et creer un clé a la frame 0(cf image 1).Ensuite se placer en frame 10 selectionner le bras et le tourner ver le bas jusqu'a ce qu l'arme soit le long du corps (cf image2).

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut10.jpg
http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut11.jpg

Là si on lance l'animation de la frame 0 à 10 le bras doit de deplacer du haut vers le bas (avec l'arme bien sure ;)).
-Debut d'animation de tir:
Dabord, il faut selectionner la frame 0 et en laissant appuyer sur shift et la copier en frame 11, ça sera le debut de l'anim de tir.Je vais d'abord animer le haut de l'arme qui doit faire un mouvement de va et vient lorsque l'on tire, donc deja on reste sur la frame 11, on selectionne le bone et on crée un clé (cf image 1), puis se placer sur la frame 15 et deplacer le bone vers l'arriere (cf image 2), enfin se placer sur la framme 20 et remettre le bones dans la meme position que l'image 1.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut12.jpg
http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut13.jpg

Ensuite on peut animer la gachette avec le doigt et faire bouger legerement le bras pour faire pensez a des secousses de l'armes qui tire.Puis faire l'animation du reload, de la selection de l'arme, du deuxieme tir si y'en a un, du idle...
Voila pour la partie animation qui est assez dur d'expliquer par image.

Exportation du mesh et des animations avec ActorX

Tout d'abord, il faut creer un repertoire ou sera placé tous les fichiers (le mesh,les animations et les textures), ensuite il faut ouvrir le plugins ActorX dans 3dsmax(en telechargement [link=http://www.game-lab.com/files/ActorX.zip]ici[/link] )

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut16.jpg

Nous allons deja creer la fichier qui sera la position de reference avec le mesh, donc dans "output folder" il faut mettre le chemin du repertoire que l'on vient de creer, puis dans "mesh file name" mettre le nom de votre arme (exemple ici Pm), ensuite dans "Actorx-setup", il faut que les cases "all physique mesh" et "all textured geometry" soit cocher, finalement il faut cliquer sur "save mesh/refpose".Normalement un message apparait vous disant ke le fichier nom_de l'arme.psk vient d'etre creer.
Bon maintenant passons a l'exportation des anims, d'abord dans 'animation file name" il faut mettre le nom de l'arme (exemple ici Pm), puis dans "animation sequence name" mettre le nom de l'anim, ensuite dans "animation range" mettre les frames d'où l'animation commence à où elle s'arrete (voir image ci dessous qui correspond a la premiere animation réalisé ci dessus, celle du rangement de l'arme) et cliquer sur "digest animation".

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut17.jpg

Ensuite faire la meme chose pour le reste des anims (exemple : Fire de 11-20, Reload 20-40...) toujours en cliquant sur "digest animation". Une fois toutes les animations enregistrées, il faut cliquer sur "animation manager", un boite de dialogue apparait, il faut selectionner toutes les anims et les faire basculer dans le menu de droite.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut18.jpg

Puis finalement il faut cliquer sur save, une autre boite de dialogue apparait disant que le fichier nom_de_l'arme.psa vient d'etre cree avec le nombre de sequence.
Voila les animations et le mesh sont exportés,normalement un fichier nom_de_l'arme.psk et un fichier nom_de_l'arme.psa ont été crée dans le dossier, reste plus qu'à exporter les textures et tout reimporter dans ued.

Déja il va falloir telecharger le plugin pour Photoshop qui va permettre de sauvegarder et d'ouvrir les fichiers dds, qui est un format lisible par ued, [link=http://www.game-lab.com/files/dds.zip]ici[/link]. Une fois le plugin installé, il faut ouvrir photoshop, puis ouvrir ses textures (en l'occurence celle des mains et celle de l'arme) puis les ressauvgarder, dans le dossier qui a été creer (celui ou l'on a exporté le mesh et les animations), au format dds (file/save as...).Une boite de dialogue apparait qui va permettre de regler les parametre de la texture au format dds.Pour l'instant je ne connais pas trop ce plugin, mais en laissant tout par defaut ça marche.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut19.jpg

Pour ceux qui voudrait plus d'infos sur ce plugins, udn a fait un tutorial [link=http://udn.epicgames.com/pub/Content/TextureSpecifications/]ici[/link].Une fois les textures exportées, il va falloir tout importer sous ued pour creer les packages.
Nous allons deja importer les textures pour creer un package de textures.Pour ceci il faut ouvrir ued,dans le browser il faut aller sur l'onglet "textures", puis aller dans "file/import" et importer la texture des mains au format dds.Une boite de dialogue apparait, dans "package" mettre le nom du package qui sera celui ou serons toutes les textures d'armes, dans "group" ne rien mettre et dans "name" mettre le nom de la texture et laisser le reste comme c'est.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut20.jpg

Ensuite faire de meme pour la texture de l'arme et il faut la mettre dans le meme package que la texture de mains (en l'occurence sur l'image ci dessus "Mes_Armes_TX").Une fois les 2 textures dans le meme package il faut le sauvegarder (file/save), normalement cela cree un fichier en .utx qui est les format des packages de textures pour ut2003.
Ensuite il va falloir importer le mesh et les animations, pour cela dans le browser il faut se mettre sur l'onglet animation, puis importer le mesh au format psk dans "file/mesh import", une boite de dialogue apparait, dans "package" mettre le nom du package ou serons mis tous les mesh d'armes ainsi que leur animations et dans "name" il faut mettre le nom du mesh.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut21.jpg

Maintenant il faut importer les animations qui sont au format psa dans "file/animation import", une boite de dialogue apparait, mettre dans "package" le meme nom que celui du mesh et dans "name" le meme nom que celui du mesh.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut22.jpg

maintenant que le mesh et les animations sont importer il va falloir les linker, il faut selectionner dans le package qui vient d'etre creer le mesh et les anims et cliquer sur "edit/linkup animation and mesh", puis il va falloir copier les proporties de "juggmaleA" dans le package "jugg" (mesh/copy mesh properties)et le coller sur notre mesh (mesh/paste mesh properties), cela va permettre que l'arme soit bien orienter et qu'elle sera a peu pres aux bonnes dimensions (car pour l'instant j'en suis pas sur, une fois que l'arme sera codé on le saura ;)). Pour finir il va falloir linker les textures au mesh, donc il faut se placer sur l'onglet "textures" et selectionner la textures des mains (elle ser encadré en vert des qu'elle ser selectionner), puis revenir sur l'onglet animation et dans les propriétés du mesh il faut aller sur "mesh/skin/material" et cliquer sur le petit 0 et cliquer sur use.

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut23.jpg

Normalement les textures de la main ce sont posées sur le mesh, ensuite il faut refaire la meme chose pour les textures de l'armes mais en cliquant sur le petit 1 dans "mesh/skin/material" et selectionnant evidement la texture de l'arme.
Voila l'arme est importer, animer, texturer, il reste plus qu'à sauvgarder le package, donc toujours dans l'onglet animations il faut faire "file/save", et un .ukx est crée qui sera le package ou est l'arme avec ses animation et ses propriétés.
Une petite image montrant l'arme sous ued avec ses textures et ses animations:

http://www.game-lab.com/images/tuts/3dsmax_eclairage_3points/tut24.jpg

Conclusion

Voila ce tutorial est fini, normalement on doit avoir crée deux package:
-un pour les textures en .utx (à placer dans le dossier "textures" du jeux).
-un pour les anims, les mesh et ses propiétés en .ukx (à placer dans le dossier "Animations" du jeux).
Maintenant il vous faut plus qu'un bon codeur pour integrer l'arme ans le jeu.
Bah si vous avez des questions vous pouvez toujours me mailer à svinkles@aol.com.

[link=http://bladeofdestiny.unreal-2.com]http://bladeofdestiny.unreal-2.com[/link]