Forum WTeam
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum WTeam

Le site des moddeurs 100% francophone.
 
AccueilPortailGalerieRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Animation d’une nouvelle créature : Et pourtant elles tourne

Aller en bas 
3 participants
AuteurMessage
baronf
Compagnon ArchipelModeur
Compagnon ArchipelModeur
baronf


Masculin Nombre de messages : 1497
Age : 62
Date d'inscription : 27/08/2007

Animation d’une nouvelle créature : Et pourtant elles tourne Empty
MessageSujet: Animation d’une nouvelle créature : Et pourtant elles tourne   Animation d’une nouvelle créature : Et pourtant elles tourne Icon_minitimeLun 15 Fév 2010, 10:00

Objectif de ce tutorial :
Ayant eu beaucoup de mal pour réaliser une animation sur une nouvelle créature, je propose ce tutorial qui présente les différentes étapes utilisées pour y arriver.
J’entends par nouvelle créature, un objet possédant un nouveau squelette, et pour laquelle on réalise des animations spécifiques.
Si vous partez d’un squelette existant et ne modifiez pas sa structure (c'est-à-dire, la hiérarchie des os), le problème est simplifié, puisqu’il ne s’agit plus que de modifier les animations afin de repositionner les os (la transformation d’un cheval en giraffe par exemple peut s’effectuer qu’en changeant les animations !).

Ici, comme exemple, nous allons traiter le cas d’un attelage composé d’un cheval et d’un chariot.
La modélisation du chariot n’est que très sommaire, et le traitement des animation est incomplet : le but ici est de montrer la démarche.


Ci dessous les différentes étapes à la création du squelette et d'une animation pour le chariot.

0 – Outils utilisés
Le tuto a été réalisé avec :
- blender 2.49
- blender_NIF_Script 2.5
- PyFFI 2.0.5
- le TESCS


1 - création du squelette

1.1 - import du squelette de base
Ouvrir un nouveau fichier blender, et importer le squelette du cheval (skeleton.nif) sans valider l'option "skeleton only", sans animation, mais en important les "extra nodes". Ceci permet d'avoir toute la hierarchie du squelette (y compris ceux liés aux personnages), ainsi que les blocs de collision.

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature000imp.thAnimation d’une nouvelle créature : Et pourtant elles tourne Animationcreature001squ.th


1.2 - modification du squelette
Par choix, le chariot est ici articulé à l'aide de 5 os : un pour l'ensemble (ce qui permet de positionner tout en une fois), et un os par roues (afin d'avoir des rotations indépendantes). Un os additionnel a été ajouté à l'extrémité de chaque os de roue afin d'obtenir des os de roues parallèles à la direction de l'attelage lors des importation suivante (ceci ne sert a priori à rien si ce n'est à ne pas être perturbé par des os de roue qui sembleraient sortir du chariot).
L'ajout des os se fait par copie d'un os existant, suppression de la parenté (Alt P) antérieure et création de la nouvelle parenté (Ctrl P) avec l'os duquel il doit dépendre.
Il est bienvenu de nommer cet os avec un nom reconnaissable et de forcer ces rotations à zéro.
Le squelette du chariot est ici simplifié; il est toujours possible d'ajoutéer des hiérarchie en faisant apparaître des essieux, ce qui donnera un aspect moins monobloc au chariot lors des animations.

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature002squ.th


1.3 - exportation du squelette
L'exportation en nif du squelette se fait en validant l'option "geometry only" et surtout en dévalidant "flatten skin".
Ici le fichier est appelé skeletonattelage.nif

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature003exp.th


1.4 - vérification et correction du nif
A priori le nif créé devrait permettre de faire les animations, mais beaucoup de blocs manquent comme des NiTransformController par exemple, et le jeu ne semble pas apprécier (plantage...); les raisons de ce plantage et la façon de l'éviter n'est pas encore connu.
Il est donc vivement conseiller d'éditer le squelette initial du cheval et d'ajouter les éléments modifié dans blender.
Ouvrir une nouvelle fenêtre Nifskope et charger le skeleton.nif du cheval.
Sélectionner le NiNode chariot dans skeletonattelage.nif et le copier sur le "Bip02 Non Accum" de skeleton.nif en utilisant "Block -> Copy Branch" et "Block -> Paste Branch".
Sauver skeleton.nif en tant que skeletonattelage.nif.

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature004bni.th



2 - création de l'animationPour pouvoir travailler, il faut réunir dans blender : le squelette, les animations et les maillages.
Il est possible de partir d'un fichier vierge ou du fichier contenant déjà une modélisation (le chariot par exemple) et de faire des importations pour les éléments manquant.
Par contre un point semble important : le nom du squelette qui doit s'appeler "Scene Root"! Pour cette raison il est préférable que le squelette sur lequel on va travailler doit le premier squelette chargé dans le fichier; si d'autres squelettes existent, il est préférable de les détruire avant le chargement du nouveau squelette.
Sinon on risque de se retrouver avec des problèmes de nommage, qui à l'exportation des géométrie, vont créer des hiérarchie supplémentaire dans les nif (du style "Scene Root" -> "Scene Root.001" -> les NiTrimachins...), et qui semblent incompatible avec les animations d'oblivion.
J'ai personnellement abandonné d'essayer de contourner ce phénomène en dehors de charger le squelette de référence en premier! ...

2.1 - importation du squelette de l'attelage
Ouvrir un nouveau fichier blender ou utiliser un fichier blender existant sans objet appelé "Scene Root", dans lequel il faut importer le squelette précédemment créé (skeletonattelage.nif) en activant l'option "skeleton only" avec une animation (ici l'idle.kf du cheval) qui va servir de base de travail.

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature005imp.th


Vous devriez avoir un squelette complet (sans blocs de collision).

2.2 - création ou importation des maillages
Importer ou créer les maillages (ici le cheval, le chariot...), et affecter les coefficients de dépendance aux os (weight painting).
A priori, si le cheval est importé des maillages de Bethesda, cette étape est inutile pour lui.
Créer un lien de parenté entre les maillages dont on veut modifier le nif (ici certainement le chariot puisqu'il faut créer ce nif) et le squelette (Ctrl P...)
Puis exporter les nifs avec les options "export geometry only" (on ne veut pas de l'animation!), "flatten skin" (le squelette qui sera exporté à cause du lien de parenté, doit être exporté "à plat"), et "export skin partition" (il faut exporter la table des coefficients du "weight paint").

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature006wei.th


Ici, le choix est fait de séparer le cheval du chariot, afin de pouvoir modifier l'assemblage dans le TESCS et donc de pouvoir mélanger les types de chevaux avec différentes version de chariot (ayant tout de même le même squelette!!).
Il est préférable de supprimer le lien de parenté au squelette, des objets que l'on ne souhaite pas exporter, afin de ne pas devoir nettoyer les nif ensuite; ceci réduit aussi la taille des nifs car seules les informations utiles sont exportées.
Ici le fichier nif du chariot est nommé "chariot.nif" (comme c'est original!!)

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature008exp.th


Il est préférable de vérifier les nif.
On doit y retrouver les NiTrimachins et les os, directement sous le premier noeud "Scene Root" (par de niveau intermédiaire!) et les NiSkinInstance doivent être présent (sinon il n'y a aucune chance que les meshes s'aminent!).

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature009nif.th



2.3 - création de l'animation
L'animation est créée (je devrais dire modifiée), en utilisant les modes poses à la fois sur le squelette dans la vue 3D, et dans la vue des courbes IPO, lorsqu'un os est sélectionné dans la vue 3D.
Un petit rappel : les courbes d'animation pour un os sont créées/modifiées en sélectionnant le numéro de vue, puis en effectuant les modifications que l'on souhaite (déplacement/rotation/échelle), puis en insérant une clé d'animation (appui sur la touche "I") afin de noter les valeurs.
Pour chacune des quatres roues des clefs (de rotation!) ont été insérées tous les quarts de tour.
Si vous tentez de faire le tour de roue en deux clé, il est probable que l'animation ne rende pas le résultat escompté, puisque soit vous aurez fait un tour complet et donc serez revenu à la même position (donc rien ne bouge!), soit vous aurez fait presqu'un tour et l'animation se fera très petite et en sens inverse!.
Il est aussi possible que l'animation parte en marche arrière (surtout pour les rotations pour lesquelles +180°=-180°); là je n'ai pas trouvé d'autre choix que d'éditer les courbes à la main, en forçant les valeurs près du point de commutation +/-180°!.

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature010mod.th


Dès que l'animation est terminée, l'exporter avec l'option "export animation only"
Ici le fichier s'appelle "idleattelage.kf"

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature011exp.th


2.4 - modification du .kf
Le fichier d'animation comporte quelques différences avec ce qu'attend oblivion ou le TESCS (par contre il fonctionne bien dans Nifskope), il faut donc le modifier.

Editer le nouveau fichier d'animation avec Nifskope, et sélectionner le premier bloc (NiControllerSequence).
Son nom va indiquer le groupe d'animation (Idle pour ... idle, Forward pour une marche avant, Backward pour un marche arrière...).
Par défaut, blender met le nom du fichier. Comme il s'agit ici d'une animation idle, mettez Idle (avec un I majuscule).

Ensuite modifier éventuellement le type de cycle, ici CYCLE_LOOP puisque l'on veut que l'animation passe en boucle.

Et enfin changer le nom de la cible pour l'animation (Target Name). Blender met "Scene Root" par défaut; mettez pour cette animation de créature "Bip02" (sans les guillemets!)

Sauver le fichier animation.

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature012nif.th



3 - Intégration dans l'esp
Les fichiers utilisés pour la suite sont indiqués sur la figure ci-dessous.
Le répertoire créé est ...Data\Meshes\Archipel\creatures\attelage
Il contient les nifs du cheval, et les animations.
On y retrouve le squelette modifié (skeletonattelage.nif), le chariot (chariot.nif), mais aussi un fichier attelage.nif qui est une exportation du mesh du cheval à partir de blender afin de tester qu'il est aussi possible de le modifier et de l'exporter, ainsi que les animations idleattelage.kf (que l'on vient de faire) et forward.kf (repris de Bethesda pour tester).

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature020rpe.th


- Ouvrir un esp, ou directement l'esm pour créer un esp lié à cet esm (angamandon.esm par exemple).
- Créer une nouvelle créature (perso j'ai modifier celle du cheval puis l'ai sauvée sous un autre nom)
- Indiquer le nom du squelette à utiliser (comme par hasard celui que l'on a créé précédemment...)
- Choisir les éléments du modèle que l'on veut utiliser : tout ce qui fait le cheval (mais en utilisant attelage.nif et non horse.nif) et le chariot dans l'onglet ModelList
- Regarder les animations dans l'onglet Animation. Bon je sais, c'est bête : les roues tournent quand le cheval n'avance pas, et ne tourne pas quand il marche... mais bon maintenant vous savez quoi faire pour qu'il en soit autrement et puis pour vérifier l'animation in-game, c'est mieux que le cheval reste sur place!

Animation d’une nouvelle créature : Et pourtant elles tourne Animationcreature021cre.thAnimation d’une nouvelle créature : Et pourtant elles tourne Animationcreature022cre.th


- Sauver la créature, la placer dans le monde, sauver l'esp
- Avant d'aller voir votre œuvre dans le jeu, supprimer l'animation forward.kf du répertoire afin que le cheval ne parte pas à l'aventure en trainant son chariot (ça marche aussi, mais comme on n’a pas modifié l’animation forward… les roues ne tourneront pas. C’est ton très moyen pour vérifiér que tout c’est bien passé !).
- lancer le jeu et courrez voir la belle animation...


Bon c’est pas évident sur le screenshot … Et Pourtant, elles tournent !!!

Animation d’une nouvelle créature : Et pourtant elles tourne Screenshot2556.th


4 - Remarques, Amélioration, Travail restant à faire

L'animation ci dessus n'est qu'un essai; il est effectivement souhaitable que les roues ne tournent que lorsque le cheval se déplace, il faut donc appliquer les modifications sur l'animation forward.kf et non idle.kf.
Il faut en outre revoir toutes les animations, afin que le centre de rotation de l'attelage ne soit pas le cheval, mais le chariot (train avant? centre?). En effet, avec un centre de rotation sur le cheval, le chariot balaye l'espace latéralement quand le cheval tourne.
Il est aussi possible d'améliorer l'ensemble en ajoutant des os intermédiaires entre le corps du chariot et les roues, pour les essieux; il sera ainsi possible de réaliser quelques rotations du train avant, et donc d'améliorer le rendu.
Quoiqu'il en soit, on ne pourra pas éviter l'aspect monobloc lié au fait que le chariot et le cheval ne suivent pas chacun le terrain situé en dessous, mais celui situé sous le point de référence Bip02.

Il faut aussi modifier le squelette afin que les extra-nodes, liés au personnage, ne soient plus centrés sur le cheval mais sur le chariot (sauf si on souhaite conserver le fait de pouvoir s'assoir sur le cheval et non sur le chariot.
Les animations ne monte et descente du chariot sont aussi à refaire.

Pour les modifications nécessaires pour transformer cette créature en monture : voir le tuto de Mohawk.
https://wteamoblivionmod-for.forum2jeux.com/personnages-pnj-et-creatures-f10/avancee-creation-de-montures-pour-lequitation-t161.htm
Revenir en haut Aller en bas
Walzou
Maître ArchipelModeur
Maître ArchipelModeur
Walzou


Masculin Nombre de messages : 2142
Age : 44
Date d'inscription : 23/10/2006

Animation d’une nouvelle créature : Et pourtant elles tourne Empty
MessageSujet: Re: Animation d’une nouvelle créature : Et pourtant elles tourne   Animation d’une nouvelle créature : Et pourtant elles tourne Icon_minitimeLun 15 Fév 2010, 12:09

Hé ben je vois que tu as finalement réussi. Bravo pour ne pas avoir lâché prise et merci pour le tuto.
Revenir en haut Aller en bas
http://wteamoblivionmod.ifrance.com
SCG
Compagnon ArchipelModeur
Compagnon ArchipelModeur
SCG


Masculin Nombre de messages : 623
Age : 32
Date d'inscription : 13/01/2009

Animation d’une nouvelle créature : Et pourtant elles tourne Empty
MessageSujet: Re: Animation d’une nouvelle créature : Et pourtant elles tourne   Animation d’une nouvelle créature : Et pourtant elles tourne Icon_minitimeLun 15 Fév 2010, 15:49

Je ne peut dire qu'une seul chose :

MAGNIFIQUE !

Et encore c'est un mot plutôt faible !!!

Un grand merci pour ton aide Baronf, car pour la réalisation de cette nouvelle monture, je ne serai jamais arrivée tous seul !

Maintenant il faut que je me remettre au travaille pour finir ce chariot, et voire les erreurs que j'avais fait.
Revenir en haut Aller en bas
SCG
Compagnon ArchipelModeur
Compagnon ArchipelModeur
SCG


Masculin Nombre de messages : 623
Age : 32
Date d'inscription : 13/01/2009

Animation d’une nouvelle créature : Et pourtant elles tourne Empty
MessageSujet: Re: Animation d’une nouvelle créature : Et pourtant elles tourne   Animation d’une nouvelle créature : Et pourtant elles tourne Icon_minitimeLun 15 Fév 2010, 18:51

Ça marche extrêmement bien !!!

Donc ce soir je commence réellement le chariot, et ses animations, et tous le reste. Fini les testes !

Mais juste une petite question, pour que le personnage s'assoie sur le chariot, il faut bouger juste le "Bip02" le "Bip02 non accum" et le "secene root entry point" ?

Enfin eux doivent rester au milieu de la scène, mais c'est le cheval et le chariot qui doivent venir vers ses os, c'est bien ça ?
Revenir en haut Aller en bas
baronf
Compagnon ArchipelModeur
Compagnon ArchipelModeur
baronf


Masculin Nombre de messages : 1497
Age : 62
Date d'inscription : 27/08/2007

Animation d’une nouvelle créature : Et pourtant elles tourne Empty
MessageSujet: Re: Animation d’une nouvelle créature : Et pourtant elles tourne   Animation d’une nouvelle créature : Et pourtant elles tourne Icon_minitimeMar 16 Fév 2010, 10:17

SCG a écrit:
Ça marche extrêmement bien !!!

Donc ce soir je commence réellement le chariot, et ses animations, et tous le reste. Fini les testes !

Mais juste une petite question, pour que le personnage s'assoie sur le chariot, il faut bouger juste le "Bip02" le "Bip02 non accum" et le "secene root entry point" ?

Enfin eux doivent rester au milieu de la scène, mais c'est le cheval et le chariot qui doivent venir vers ses os, c'est bien ça ?

Non,
Relis le tutorial de Mohawk.

Bip02 n’a que peu de chose à voir avec le personnage. Pour ce dernier, ce sont les Nodes « EntryPoint » et « ActorParent » qui compte. Le premier détermine l’endroit d’où le personnage va commencer l’animation pour monter sur la monture, mais aussi l’endroit où il descendra ; le second sert de référence à la position du personnage lorsqu’il est sur la monture.
Dans ton cas, je suppose que tu souhaites asseoir ton personnage sur un banc placé à l’avant du chariot…
Si c’est le cas, mieux vaut déplacer Entrypoint pour qu’il se retrouve, au sol, près du marche-pied, là où le personnage va débuter son ascension. Quant à ActorParent, il faut le retirer de la liste des enfants de « Bip02 Spine2 » (là où il doit se trouver), et le mettre comme enfant de Chariot (car les mouvements du cocher vont dépendre de ceux du chariot, et non de ceux du cheval !).

Pour l’ensemble des animations, il te faudra choisir le point de référence global. Actuellement celui-ci est placé au centre du cheval ; toutes les animations du cheval utilisent ce point de référence. Les rotations du cheval (turnleft.kf et turnright.kf) supposent que le cheval tourne autour de cet axe ; si ceci est approximativement vrai dans le cas d’un cheval seul, c’est entièrement faux dans le cas d’un attelage!
Il me parait important de déplacer ce centre de rotation pour des aspects visuels plutôt du côté du train avant du chariot ; encore mieux si tu place ce centre de rotation au centre des roues (2 ou 4) et que les roues de part et d’autre du chariot ne tourne pas dans le même sens ; si tu souhaites utiliser 4 roues, tu peux faire encore plus réaliste en plaçant le centre de rotation à l’extérieur de l’axe de l’attelage et donc effectuer une translation lors des virages !
Cette modification de positionnement devra être appliquées à toutes tes animations, mais pas nécessairement au nif dont les os prendront automatiquement les positions et rotations des animations.

Il faudra supprimer les animations incompatible avec le chariot (nager, sauter, se coucher par terre…).

Ensuite il faudra modifier les animations de monte et descente situées dans le sous répertoire « idleanims » de ton répertoire de créature. Pour ça, le programme Oblivion Mount Project Animation Warper peut aider (je ne peux le dire, je ne le connais pas et ne peux même pas le télécharger d’ici !!) ; je pense aussi qu’il devrait être possible de modifier ces animations avec blender.
A noter, que dans le cas de l’attelage, on ne cherche pas à supprimer les animations du cheval (ceci est fait dans le tuto, pour éviter les mouvements non contrôlés des montures qui ne sont pas des chevaux !), mais seulement à modifier ceux du personnage (tout ceux qui sont liés à Bip01…).
Je ne sais pas comment est gérée l’animation (ou la position) du personnage lorsqu’il est assis ; je n’ai pas eu le temps de me pencher sur la question !
Revenir en haut Aller en bas
Contenu sponsorisé





Animation d’une nouvelle créature : Et pourtant elles tourne Empty
MessageSujet: Re: Animation d’une nouvelle créature : Et pourtant elles tourne   Animation d’une nouvelle créature : Et pourtant elles tourne Icon_minitime

Revenir en haut Aller en bas
 
Animation d’une nouvelle créature : Et pourtant elles tourne
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [3DS Max] Nouvelle Créature et Animation.
» Et pourtant elle tourne...
» [BLENDER] Création d'une créature (squelette, animation...)
» [WIP]Une créature bien étrange...
» [TUTO] Mon premier script de créature

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum WTeam :: Public :: Tutos TESCS2 Oblivion :: Personnages, PNJ et créatures.-
Sauter vers: