Animation d'une arme avec Character Studio

Écrit le 05/07/2003 par Crono
Dernière mise à jour : 31/01/2006

Introduction

Animer une arme avec Character Studio demande une certaine réflexion AVANT de commencer.
Cette réflexion doit porter sur les différentes parties de votre arme.
Exemple: Une détente, un chargeur, etc. C'est donc par la que je vais commencer ce tutorial.

Structure Osseuse de l'arme

Prenons pour exemple un pistolet. Il a 4 parties mobiles : La détente, le chargeur, le chien et la culasse. Nous allons donc dans un premier temps créer les os qui serviront à faire bouger ces différentes parties (Il est plus facile de séparer les différentes parties).

Ouvrez tout d'abord le fichier de votre arme et séparez les éléments avec la fonction éditer maille et éléments en objets éléments : Vous devriez avoir quelque chose comme ça:

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/00.jpg

Nous allons maintenant créer les os pour animer cette arme. Cliquez sur Créer,
Systèmes puis Structures. Décochez Affecter à enfants (Si cette option reste cochée, il sera impossible d'animer ces os)

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/01.jpg

Placez ensuite 2 os pour chaque élément de votre arme :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/02.jpg

La Structure Osseuse de votre arme est maintenant prête. Avant de continuer, nous allons faire un petit tour des limitations du format .MDL de valve.

Limitation du format .MDL

Sous MilkShape3D ce problème ne se pose pas mais sous 3D Studio Max il est important de connaître les 2 règles à respecter pour que votre modèle soit compatible avec Half-Life.

- Premièrement votre modèle ( Mains + Arme entière ) doit être un seul et même maillage.
Utilisez donc la fonction Attacher de maillage éditable pour rassembler vos mains et votre arme.

- Deuxièmement vos textures doivent faire partie d'une texture globale...
Je m'explique, créez une texture de type Multi/Sous-Objet et dans les materiaux reconfigurez une par une vos textures. Les numéros devant les matériaux correspondent aux ID des materiaux. Une fois vos textures reconfigurées, vous devez les réassigner à votre objet. Pour notre exemple de pistolet, vous devez sélectionner les faces du chargeur, lui assigner l'ID du matériel correspondant a la texture du chargeur :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/03.jpg

Si vous avez du mal a comprendre cette partie, maillez-moi mais sachez qu'elle sera développée en profondeur dans un prochain tutorial sur la texturation des modèles...

Animation à l'aide du Biped de Character Studio

Voici maintenant la partie finale de ce tutorial... A ce niveau, votre modèle doit être finalisé, car les étapes à venir sont longues et lassantes...

Importez vos mains dans la scène contenant l'arme avec l'option Ficher -> Fusionner... et regroupez les avec l'option Attacher de maillage éditable afin qu'ils ne fassent qu'un seul objet.

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/04.jpg

La partie technique commence maintenant... Créez un Biped : Créer, Systèmes puis Biped. Réglez sa taille en fonction de la taille de vos mains. Voici les différentes options du Biped de Character Studio :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/05.jpg

Toutes ces options se trouvent dans l'onglet animation :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/06.jpg

Le premier mode des paramètres généraux, mode personnage, permet de régler la taille du biped et de ses membres, ainsi qu'à régler leur position dans l'espace. Utilisez le pour obtenir quelque chose comme ça :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/07.jpg

Maintenant, nous devons placer les membres du Biped pour qu'il colle avec votre main. Il est plus simple de la faire en mode personnage. Une option de Character Studio permet de faire un miroir sur les membres... vous n'avez donc qu'à vous occupez d'une main :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/08.jpg

Cette opération doit être exécutée précisément... Une fois votre première main en place,
sélectionnez tous les objets biped que vous avez déplacé et cliquez sur Copier Posture puis Coller Posture a l'opposé dans Image clé :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/09.jpg

La position de votre main gauche a été recopiée sur la main droite :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/10.jpg

Maintenant nous devons faire en sorte que l'arme bouge en même temps que la main... Nous allons donc lier hiérarchiquement la main et la base de la structure osseuse de l'arme. Pour cela on utilise la fonction Sélection et Liaison dans la barre d'outils de 3D Studio Max:

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/11.jpg

Cette fonction est simple d'utilisation: Sélectionnez le "Fils" sans relâcher et déplacez-vous sur le "Père". Dans notre cas, sélectionnez la base de la structure osseuse et relâchez sur la main :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/12.jpg

Vous pouvez essayer et vous verrez que lorsque vous déplacez les os de votre main votre structure de l'arme se déplace également.

La partie la plus technique arrive maintenant, elle concerne l'assignation des vertex
aux différents os... Sélectionnez votre maillage et appliquez-lui la déformation physique :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/13.jpg

Cliquez sur Attacher à noeud:

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/14.jpg

Sélectionnez la base du Biped, et dans la fenêtre qui apparaît réglez les options comme ci-dessous :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/15.jpg

Puis cliquez sur Initialiser. Les vertex sont maintenant attachés, mais 9 fois sur 10 vous devrez en réassigner quelques-uns uns... Je vais vous expliquer comment faire pour l'arme...

Sélectionnez votre maillage, et sélectionnez Sommet dans Sous-Objet du modificateur physique.

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/16.jpg

Les 3 premiers paramètres sont les types de sommets.
Rouge : Sommet déformable
Vert : Sommet rigide
Bleu : Sommet racine

Pour débuter il est plus simple d'utiliser des sommets rigides (verts). Les autres paramètres parlent d'eux-mêmes... Nous allons commencer par assigner les sommets du chien. Sélectionnez les sommets du chien, cliquez sur affecter à segment, sélectionnez vert en type de sommet et cliquez enfin sur cliquez sur l'os extrême correspondant au chien :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/17.jpg

Vous devez maintenant savoir comment assigner les vertex aux os... Vous devez faire de même pour les doigts, les mains et les avants-bras...

Une fois tous vos vertex correctement assignés, vous pouvez commencer à animer... Pour les os du Biped vous devez retourner dans l'onglet animation et affecter des images clés à chaque os que vous déplacez tandis que pour les os que vous avez rajouté pour l'arme vous devez le faire grâce à la barre de temps et à l'option animer :

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/18.jpg

Nous allons réaliser ensemble une animation de shoot...Pour commencer, placez vous
a la frame 0 dans l'échelle de temps, replacez les éléments du pistolet et placez vos doigts...

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/19.jpg

Il y a quelques astuces à connaître pour faciliter l'animation d'un pistolet... Tout d'abord il est plus facile d'animer en premier le pistolet sans toucher à la main. Nous allons donc commencer par animer la culasse. Il y a 3 images clés pour l'animer : la première a l'état initial, la seconde en position reculée et la troisième en position initiale : Assurez-vous que l'option animer est active, allez à la frame 4 et déplacez votre culasse en positon reculée. Deux images clés sont alors créées : 1 à la frame 0 et 1 à la frame 4. Dans l'état actuel des choses, la culasse se déplace d'avant en arrière de la frame 0 à la frame 4. Le recul de la culasse étant violent, nous devons réduire cet intervalle à 1 frame. Pour cela sélectionnez l'image clé à la frame 0 dans la barre de temps et faites-la glisser jusqu'à la frame 3. L'animation se déroule alors de la frame 3 à la frame 4 donnant un effet rapide et violent à la culasse. Ensuite il ne reste plus qu'à créer une image clé à la frame 6 en replacent la culasse en position initiale. Faites de même pour les autres éléments du pistolet...

Maintenant nous allons animer les doigts ainsi que le recul du bras. La procédure est presque la même, sauf que cette fois si nous allons le faire grâce aux outils de Character Studio.

Sélectionnez la deuxième articulation de l'index, allez à la frame 4, faites lui faire une rotation et cliquez sur Définir clé : (Vous ne devez pas être en mode personnage).

http://www.game-lab.com/images/tuts/3dsmax_weapon_anim/20.jpg

Le problème qui se pose est le même que pour la culasse, le doigt effectue sa rotation sur 4 frames. La solution est donc la même : déplacez l'image clé qui est en frame 0 en frame 2 ou 3. Faite ensuite revenir votre doigt en position initiale vers la frame 5 ou 6. Maintenant vous devriez avoir assimilé le principe pour animer et vous devriez donc pouvoir animer le recul du bras lors du tir.