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
-20%
Le deal à ne pas rater :
(Adhérents Fnac) Enceinte Bluetooth Marshall Stanmore II Noir
199.99 € 249.99 €
Voir le deal

 

 Intégrer une animation dans un Nif

Aller en bas 
AuteurMessage
Meseira
Compagnon ArchipelModeur
Compagnon ArchipelModeur
Meseira


Masculin Nombre de messages : 509
Age : 42
Date d'inscription : 01/04/2007

Intégrer une animation dans un Nif Empty
MessageSujet: Intégrer une animation dans un Nif   Intégrer une animation dans un Nif Icon_minitimeLun 07 Mai 2007, 20:08

Intégrer une animation dans un Nif

__________________________________________________________________________


Ce tutoriel est une libre adaptation de Basic Animation Tutorial
Origine: Basic Animation Tutorial


I. Généralités


I.1) Introduction

Ce tutoriel a pour but de permettre aux moddeurs de créer des objets dotés d'animations très simples en appliquant des fichiers d'animation de base pré-assemblés. De plus, ces animations pourront être modifiées afin de faire une multitude d'animations plus complexes.
Cela s'addresse particulèrement aux moddeurs qui n'ont pas accès à des applications 3D (comme 3D Studio Max) ou qui n'ont pas les connaissances pour créer et exporter des animations.
Une connaissance de base des animations et de l'usage de Nifskope sont cependant requises.

I.2) Anatomie des animations

Une animation intégrée dans un nif est composée d'une structure spéciale. Voici une brève description des blocks les plus classiques:

- NiControllerManager: ce block contient les liens vers les NiControllerSequence. Il sera créé automatiquement lorsqu'on utilisera "Attach .kf" dans Nifskope.

Note: il ne doit y avoir aucun lien blanc dans l'Array des NiControllerSequence, sinon le jeu plantera au chargement du nif.

- NiControllerSequence: ces blocks composent l'animation et sont le seul contenu des fichiers .kf. Ils contiennent les blocks d'information Interpolator et Controller ainsi que quelques variables qui spécifient les cibles, les types et parfois certains paramètres de l'animation. Le nom donné à chaque NiControllerSequence est aussi important car il sert de paramètre à certaines commandes de script d'animation (voir PlayGroup). Pour utiliser PlayGroup, vous ne pouvez donner que certains noms reconnaissables par le compilateur de script (voir AnimGroups).

Note: donner à un NiControllerSequence le nom Idle implique que l'objet utilisera cette animation automatiquement et probablement à la place d'autres animations déclenchées via un script si le Cycle Type du block NiControllerSequence est réglé sur CYCLE_LOOP.

- NiTransformControllers: ils sont utilisés pour appliquer des translations, rotations et/ou mises à l'échelle sur des NiTriShapes, des NiTriStrips ou des NiNodes.

Note: ces transformations ne s'appliquent que sur le mesh et pas sur les collisions.

- NiTextureTransformControllers: ils agissent comme les NiTransformControllers mais la cible doit être un NiTexturingProperty. Vous pouvez l'utiliser pour modifier les coordonnées UV d'un mesh. En d'autres termes, vous pouvez faire défiler une texture, la faire pivoter ou bien zoomer.

Note: la texture cible ne doit pas avoir de normal map pour que la transformation fonctionne correctement.

- NiAlphaControllers: ils affectent l'opacité d'un objet. La cible doit être un NiMaterialProperty et le NiTriStrips/NiTriShape de l'objet doit avoir un NiAlphaProperty.

Note: la texture utilisée doit avoir une normal map pour que cela fonctionne correctement.

- NiVisControllers: ils permettent d'afficher/cacher un objet ou une partie d'un objet.

- Ni***Interpolator: ils contiennent les clés de l'animation, c'est-à-dire la configuration à un certain moment. De plus ils contiennent les réglages liés à la façon de passer d'une clé à une autre.
Revenir en haut Aller en bas
http://perso.orange.fr/meseira/
Meseira
Compagnon ArchipelModeur
Compagnon ArchipelModeur
Meseira


Masculin Nombre de messages : 509
Age : 42
Date d'inscription : 01/04/2007

Intégrer une animation dans un Nif Empty
MessageSujet: Re: Intégrer une animation dans un Nif   Intégrer une animation dans un Nif Icon_minitimeMer 09 Mai 2007, 22:00

II. Préparatifs


Tout d'abord, téléchargez Nifskope (vous aurez besoin d'avoir au moins la version 0.9.5) et installez-le. Téléchargez aussi cette archive, elle contient les fichiers d'animation pré-assemblés.
Ensuite, il va nous falloir préparer le nif que l'on souhaite animer. Ces réglages sont nécessaires pour pouvoir intégrer correctement les fichiers .kf de l'archive avec Attach .KF. Utilisez un nif qui fonctionne dans le jeu ou bien suivez un tutoriel quelconque pour régler les paramètres de base (les Flags à 14, etc). Puis:

1) ouvrez votre nif avec Nifskope.
2) renommez le NiNode de base en Base.
3) dans le Block Details de BSXFlags, mettez 11 dans Flags.
4) faites un clique droit dans Block List et Block > Insert. Choisissez N > NiNode. Un nouveau NiNode a été inséré, renommez-le en Branch. Pensez à noter le numéro de ce NiNode.
5) renommez le NiTriStrips/NiTriShape que vous souhaitez animer en Target. Notez aussi son numéro.
6) faites un clique gauche sur le NiNode nommé Base et, dans la partie Block Details, cliquez sur le + de Children, double-cliquez sur (Target) et mettez le numéro du NiNode nommé Branch.
7) Branch est maintenant attaché à Base à la place de l'objet que l'on veut animer. Faites un clique gauche sur le NiNode Branch et , dans la partie Block Details, incrémentez de 1 le Num Children. Faites un clique droit sur Children puis Array > Update. Cliquez sur le + à gauche de Children, double-cliquez sur None et mettez-y le numéro du NiTriStrips/NiTriShape que l'on va animer.

Normalement, vous devez avoir une stucture comme celle-ci:
Animer un Nif

Note: il se peut que vous ayez d'autres NiTriStrips/NiTriShape, cela n'a aucune importance, seul Target sera animé.

Selon le style d'animation que vous souhaitez créer, suivez une des sections suivantes.

Note: une fois que l'archive Anim.rar a été extraite, pour attacher un des fichiers .kf, il faudra faire Spells > Animation > Attach .KF.
Revenir en haut Aller en bas
http://perso.orange.fr/meseira/
Meseira
Compagnon ArchipelModeur
Compagnon ArchipelModeur
Meseira


Masculin Nombre de messages : 509
Age : 42
Date d'inscription : 01/04/2007

Intégrer une animation dans un Nif Empty
MessageSujet: Re: Intégrer une animation dans un Nif   Intégrer une animation dans un Nif Icon_minitimeJeu 10 Mai 2007, 20:44

III. Animation spatiale


Attacher le fichier d'animation anim_scale.kf, une animation nommée Forward est ajoutée. Elle consiste simplement en une mise à l'échelle de la taille 1 à 0 en 1.5 secondes du mesh Target. Pour modifier cette animation, commencez par déplier l'arborescence de votre nif jusqu'à trouver le NiTransformData dans l'animation Forward.
Nif animé
Ensuite, suivez une des procédures suivantes:

III.1) Échelle

- Dans le Block Details du NiTransformData, cliquez sur le + à gauche de Scales. Dans la variable Num Keys, mettez le nombre de clés (i.e. d'étapes) que vous souhaitez avoir dans votre animation d'échelle (mettez 0 si vous souhaitez supprimer l'animation déjà existante).
- Pour la variable Interpolation, mettez 1 si vous souhaitez que les étapes intermédiaires entre les différentes clés se succèdent linéairement (LINEAR_KEY) ou 2 si vous souhaitez une interpolation quadratique (QUADRATIC_KEY).
- Puis faites un clique droit sur Keys et Array > Update.
-Dépliez les Keys, chacune contient plusieurs informations. Les deux qui nous intéressent sont Time (le moment en secondes après le début de l'animation où se situe la clé correspondante) et Value (la valeur d'échelle à ce moment de l'animation). Modifiez ces deux valeurs pour chaque clé comme vous le souhaitez.

III.2) Translation

- Dans le Block Details du NiTransformData, cliquez sur le + à gauche de Translations. Dans la variable Num Keys, mettez le nombre de clés (i.e. d'étapes) que vous souhaitez avoir dans votre animation de translation.
- Pour la variable Interpolation, mettez 1 si vous souhaitez que les étapes intermédiaires entre les différentes clés se succèdent linéairement (LINEAR_KEY) ou 2 si vous souhaitez une interpolation quadratique (QUADRATIC_KEY).
- Puis faites un clique droit sur Keys et Array > Update.
-Dépliez les Keys, chacune contient plusieurs informations. Les deux qui nous intéressent sont Time (le moment en secondes après le début de l'animation où se situe la clé correspondante) et Value (la position de l'objet par rapport à l'origine du repère de Nifskope à ce moment de l'animation). Modifiez ces deux valeurs pour chaque clé comme vous le souhaitez.

III.3) Rotation

- Dans le Block Details du NiTransformData, vous trouvez la variable Num Rotation Keys, mettez-y le nombre de clés (i.e. d'étapes) que vous souhaitez avoir dans votre animation de rotation.
- Pour la variable Rotation Type, je vous conseille de mettre 1 si vous souhaitez que les étapes intermédiaires entre les différentes clés se succèdent linéairement (LINEAR_KEY) ou 2 si vous souhaitez une interpolation quadratique (QUADRATIC_KEY). Ces deux premiers types de rotation se modifient comme la rotation d'un NiNode quelconque. Vous pouvez aussi mettre 3 pour une interpolation de type TBC_KEY mais j'ignore totalement ce qu'est le TBC... La valeur 4 est aussi admise, elle correspond à XYZ_ROTATION_KEY, une rotation par rapport aux axes mais en radians (i.e. Pi vaut 180°). Pour la suite, je considère que vous avez choisi 1 ou 2.
- Faites un clique droit sur Quaternion Keys et Array > Update.
-Dépliez les Quaternion Keys, chacune contient plusieurs informations. Les deux qui nous intéressent sont Time (le moment en secondes après le début de l'animation où se situe la clé correspondante) et Value (la rotation de l'objet à ce moment de l'animation). Modifiez ces deux valeurs pour chaque clé comme vous le souhaitez.

Note: une fois votre animation correctement faite, pensez à modifier la valeur de Stop Time dans le Block Details du NiControllerSequence nommé Forward. Celle-ci doit être égale à la plus grande valeur Time entrée dans les clés. Si vous omettez ce réglage, le jeu ignorera les clés de l'animation placées après le Stop Time.
Nif animé

III.4) Animation supplémentaire

Si vous souhaitez insérer une autre animation spatiale dans votre nif, re-attachez anim_scale.kf. Une nouvelle animation Forward pré-assemblée est créée. Renommez-la en choisissant un nom accepté par le compilateur de script (voir I. Généralités) et modifiez-la comme précédemment.
Revenir en haut Aller en bas
http://perso.orange.fr/meseira/
Meseira
Compagnon ArchipelModeur
Compagnon ArchipelModeur
Meseira


Masculin Nombre de messages : 509
Age : 42
Date d'inscription : 01/04/2007

Intégrer une animation dans un Nif Empty
MessageSujet: Re: Intégrer une animation dans un Nif   Intégrer une animation dans un Nif Icon_minitimeLun 14 Mai 2007, 22:01

IV. Animation de visibilité


- Attacher le fichier d'animation anim_visibility.kf, une animation nommée Forward est ajoutée. Elle consiste en une disparition du mesh Target quasi-instantanée (l'objet est affiché 0,0333 seconde avant de disparaître).

Note: si vous tentez de sauver votre nif dans l'état actuel, vous recevrez un message d'alerte de Nifskope. Ce message n'a aucune conséquence pour la suite, il est dû à un lien non-attribué dans le nif. Cependant, si il vous dérange, vous pouvez le faire taire en attribuant le numéro du NiNode Branch à la variable Target dans le Block Details du NiVisController (il se trouve dans le NiControllerSequence).

- Pour modifier cette animation, rendez-vous dans le Block Details du NiBoolData. Commencez par réglez le nombre de clés (Num Keys) que vous souhaitez avoir dans votre animation. Faites un clique droit sur Keys et Array > Update. Dans chacune des clés, vous trouverez les valeurs Time (le moment où se situe la clé dans l'animation) et Value (1 pour visible et 0 pour invisible).

Note: il n'y a pas d'interpolation pour ce genre d'animation, il s'agit d'un interrupteur. Par conséquent, laissez UNKNOWN_KEY pour l'Interpolation.

- Comme pour les animations spatiales, vous devez faire correspondre le Stop Time dans le Block Details du NiControllerSequence avec la plus grande Value des clés. Vous pouvez aussi ajouter d'autres animations tant que vous les nommez avec un nom reconnu par le compilateur.
Revenir en haut Aller en bas
http://perso.orange.fr/meseira/
Contenu sponsorisé





Intégrer une animation dans un Nif Empty
MessageSujet: Re: Intégrer une animation dans un Nif   Intégrer une animation dans un Nif Icon_minitime

Revenir en haut Aller en bas
 
Intégrer une animation dans un Nif
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment intégrer un livre dans un mod
» INtegrer une ville de morrowind dans oblivion
» comment intégrer des objets dans l'inventaire avec TECS
» Animation
» modélisation et animation

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum WTeam :: Public :: Tutos TESCS2 Oblivion :: Nifskope-
Sauter vers: