Page 1 sur 1

[TUTORIEL] CRÉATION DE FICHIERS BAM (6) : ANIMATIONS de CRÉATURES - FORMAT IWD

Posté : ven. 25 janv. 2013, 00:29
par Freddy_Gwendo

CRÉATION D'UNE ANIMATION DE CRÉATURE AU FORMAT IWD (partie 1)





[JUSTIFIER]
Après la théorie – qui, je le reconnais, peut paraître rébarbative – un peu de pratique ne fera pas de mal, et contribuera – je l'espère – à démontrer que ce n'est pas si compliqué que ça en a l'air.

Nous allons commencer par les animations les plus simples : celles au format IWD.

En effet, comme vous allez pouvoir le constater, la standardisation de ce format (peu de séquences – et qui plus est, peu nombreuses), rend ces fichiers bam facile à créer et à modifier.



A. PRÉSENTATION DU FORMAT IWD.

Tout d'abord, chaque action d'une créature donnée est définie dans un fichier bam propre.

Voici la liste de toutes les actions possibles avec leurs fichiers associés :
  • xxxxA1 : Attaque1.
  • xxxxA2 : Attaque2.
  • xxxxA3 : Attaque3.
  • xxxxA4 : Attaque4 (Lancer).
  • xxxxCA : Lancement de sort (CAst = Spell Release).
  • xxxxDE : Action de mourir (DEad = la créature tombe).
  • xxxxGH : Blessure (Getting Hurt = la créature est touchée pendant un combat).
  • xxxxGU : Se relever (Getting Up).
  • xxxxSC : Sur ses gardes (Stand before Combat).
  • xxxxSD : Debout, passif (Stand Down).
  • xxxxSL : S'endormir (SLeep = la créature tombe inconsciente).
  • xxxxSP : Invocation de sort (SPell casting).
  • xxxxTW : Mort (TWitch : la créature est étendue morte sur le sol).
  • xxxxWK : Marche (WalK).


Comme nous l'avons vu, les animations IWD ne proposent que 8 directions pour les actions qui affectent les créatures. Par commodité, nous les représenterons par des points cardinaux : Sud, Sud-Ouest, Ouest, Nord-Ouest, Nord, Nord-Est, Est et Sud-Est.

Pour chaque action, ces directions sont regroupées dans deux fichiers distincts :

  • Les directions « Ouest » (S, S-O, O, N-O, N) sont inclues dans les fichiers de la liste précédente.
  • Les directions « Est » (N-E, E, S-E) sont inclues dans des fichiers équivalents nommés xxxxA1E, xxxxA2E, etc., jusqu'à xxxxWKE.


Chaque catégorie de fichiers est structurée de la même façon :

Les fichiers des directions « Ouest » sont composés de 5 séquences [0 – 4] correspondant aux orientations :

  • 0 : Sud
  • 1 : Sud-Ouest
  • 2 : Ouest
  • 3 : Nord-Ouest
  • 4 : Nord


Les fichiers des directions « Est » sont composés de 8 séquences [0 – 7] :

  • 0-4 : Vides, les cinq premières correspondent au miroir des fichiers précédents et sont générées automatiquement par le moteur d'IE.
  • 5 : Nord-Est
  • 6 : Est
  • 7 : Sud-Est


>> Chaque combinaison de fichier xxxx[Action] – xxxx[Action]E restitue donc l'ensemble des points de vue d'une même action..


Lecteur a écrit : C'est ça que tu appelles facile ?

14 actions x 2 = 28 fichiers ! :hang3:



On se calme ! :smoke:

D'abord, vous aurez rarement affaire à l'ensemble de ces fichiers, car très peu de créatures du jeu disposent de l'ensemble de ces actions.
De plus, comme nous le verrons, il arrive souvent que l'animation d'une action serve à une autre.
Enfin, certaines animations sont créées à partir d'autres, ce qui limite grandement le nombre de fichiers sources nécessaires.

Ainsi, la plupart du temps, les créatures disposent d'une seule ou de deux animations d'attaque (A1, A1 et A2 ou A1 et A4), et très rarement de trois (A1, A2 et A4). Mais si vous vous en sentez le courage, rien ne vous empêche de créer 4 animations différentes. ]Les différentes séquences d'une action doivent impérativement avoir le même nombre de frames. SINON, LE JEU AURA DE FORTES CHANCES DE PLANTER.[/B]


De plus, côté esthétique, il est souhaitable que la première frame de toutes les séquences de toutes les actions d'une même direction soit identique (sauf exception comme DE, GH, voire d'autres selon les cas), de manière à faciliter la fluidité de l'image. Mais ce n'est pas obligatoire, à condition que le rendu ne jure pas.


Par ailleurs, j'attire votre attention sur le point suivant : ce format disposant de relativement peu de directions (8 contre 16), les déplacements des créatures peuvent parfois paraître « saccadés » lorsqu'elles changent de direction, et cela notamment pour les créatures « larges ».



Ça, c'est le principe, passons à la pratique. :gamer2:


[/JUSTIFIER]

Posté : ven. 25 janv. 2013, 00:40
par Freddy_Gwendo

CRÉATION D'UNE ANIMATION DE CRÉATURE AU FORMAT IWD (partie 2)





B. CRÉATION D'UNE ANIMATION AU FORMAT IWD.

[JUSTIFIER]Pour illustrer ce chapitre, je détaillerai la conversion du [POST=303460]Hell Bovine de Diablo II[/POST] que j'ai refaite pour remplacer celle du module Infinity Animations qui était injouable, car tous ses fichiers étaient buggés !

Le fichier joint ECA1S0.gif n’est plus disponible.
Outils requis : Rien de spécial, normalement vous devez les avoir déjà installés.


:!: Avant de vous lancer dans le codage des animations, je vous conseille fortement d'étudier les sources dont vous disposez.

Souvent, passer une une dizaine de minutes à bien visualiser les différentes images de toutes les actions disponibles vous facilitera grandement la tâche lorsque vous passerez à l'étape de « mixage » d'images de plusieurs actions pour en créer une nouvelle, ou tout simplement lorsque vous préfèrerez répéter plusieurs frames (ou en supprimer) dans une même séquence, soit pour améliorer votre animation, soit pour en créer une autre.



1. Création de l'animation SD.

Nous allons commencer par créer l'animation SD : généralement, c'est soit sous cette forme, soit sous SC, que vous rencontrez pour la première fois une créature.[/JUSTIFIER]

Comme je suppose que vous avez lu et assimilé le tuto sur la [THREAD=6575]CRÉATION D'UN FICHIER D'ANIMATION DE DÉCOR SIMPLE (1° partie)[/THREAD], je ne reviendrai pas sur la manière de la créer.


2. Chargez dans DLTCEP le fichier regroupant les images de l'action SD : ECNU.BAM

En l'occurrence, le mien s'appelle ECNU (NU étant le mode de Diablo II correspondant aux actions SD et SC).
Image
  1. Encadrés en orange foncé, les menus.
  2. Encadrées en orange, les commandes rapides de gestion des BAM.
  3. Encadrées en bleu fluo, les commandes d'importation des frames.
  4. Encadrées en bleu foncé, les propriétés des frames.
  5. Encadrés en rose, les commandes de gestion des séquences.
  6. Encadrées en violet, les propriétés des séquences.
  7. Encadrées en rouge, quelques commandes rapides de gestion des frames.
Ici encore, plutôt que de passer en revue l'ensemble des commandes, je préfère les aborder au cas par cas, au fur et à mesure des besoins du tuto.



3. Positionnez les frames.

Comme les choses sont bien faites, il se trouve que le pivot des images de l'animation est identique pour chaque séquence – ce qui va nous faciliter la tâche.
Nous allons utiliser une fonction bien pratique de DLTCEP : "Tools > Align all"
Image
Il suffit de saisir les coordonnées X-Y dans les champs "Position" (X à gauche = coordonnée horizontale – Y à droite = coordonnée verticale), puis de lancer cette commande : alors que "Center frames" centrait automatiquement toutes les frames quel que soit leur format, "Align all" positionne toutes les frames du fichier aux mêmes coordonnées.

:read: Note : N'oubliez pas que DLTCEP aligne toutes les frames selon les coordonnées de la frame 0.


Comme le monde est souvent mal foutu, il arrive parfois que les coordonnées soient différentes selon les séquences, et pire encore différentes pour chaque frame !
Pour ne pas rendre ce tuto indigeste, je ne traiterai pas ce cas dans cette partie, mais y reviendrai plus tard pour illustrer un cas particulier.



4. Rajoutez 5 séquences au fichier.

Rappelez-vous, nous avons créé un fichier global avec une seule séquence contenant toutes les frames de l'animation.
Il va falloir séparer les images par direction en créant une séquence par direction.
Positionnez le curseur sur la séquence 0 et appuyez sur la touche "Add cycle".
Image
Recommencez l'opération 4 fois de manière à obtenir 6 séquences :
Image
Pourquoi 6 ?

Parce que c'est le « plus petit dénominateur commun » entre les 5 directions des fichiers xxxxSD et les 8 des fichiers xxxxSDE. En théorie, il en faudrait 5, mais comme nous disposons déjà de la séquence 0 regroupant toutes les images, nous anticipons le fait que nous allons la supprimer : il restera alors 5 séquences dans le fichier. CQFD.

Note : On pourrait se passer de cette étape et la réaliser plus tard dans BamWorkshop I. Mais je préfère le faire maintenant.


5. Sauvegardez le fichier et quittez DLTCEP.

Pour travailler sur les séquences, nous allons changer d'outil et utiliser BamWorkshop 1.

Pour supprimer les séquences, le mieux est d'utiliser BamWorkshop 1. Il est tout à fait possible de le faire avec DLTCEP, mais il faudrait prendre quelques précautions que je vous communiquerai plus tard lorsque nous aborderons ce point.

:!: :rtfm: Quant à BamWorkshop 2, ce n'est même pas la peine d'y penser : c'est l'un de ses bugs les plus connus. :bomb:

Si vous voulez ruiner votre animation, il n'existe pas meilleur moyen que de supprimer une séquence avec lui ! ;)
Si vous souhaitez vraiment (à vos risques et périls) utiliser BamWorkshop 2, réservez-le pour le travail sur les palettes, ce qui est sa spécialité, ainsi que pour la visualisation des fichiers .bam.


6. Chargez le fichier ECNU dans BamWorkshop 1.
Image
Nous allons créer dans l'ordre les fichiers xxxxSDE.bam et xxxxSD.bam.


7. Supprimez la séquence 0.

Dans l'onglet Sequences, Sélectionnez la séquence 0 avec la souris et effectuez un [clic-droit]. La commande "Delete Sequence" supprime la séquence sélectionnée.
Image
Notez que les séquences ont été automatiquement renumérotées : la Séquence 1 est devenue la Séquence 0, etc.


8. Rajoutez 3 séquences au fichier.

Puisque vous avez suivi, sous savez que les fichiers [xxxxxx]E sont composés de 8 séquences : il faut donc en rajouter 3.
Effectuez un [clic-droit] : la commande "Add Sequence" rajoute une séquence à la fin de la liste des séquences.

:read: Note : Si le curseur avait été positionné sur la Séquence 1, la Séquence 5 aurait été créée après la Séquence 4. Donc si l'on voulait créer une séquence entre la Séquence 1 et la Séquence 2, c'est raté !
Nous verrons plus tard comment le faire avec DLTCEP et BamWorkshop.
Image
Recommencez l'opération 2 fois pour obtenir les 8 séquences nécessaires au bon fonctionnement du fichier xxxxSDE.bam :
Image
Si vous cliquez sur l'onglet "Frames", vous constatez que les séquences sont vides. Il va falloir leur attribuer des images.


9. Faites le ménage dans les frames.

Pour commencer, nous allons faire le ménage dans les frames.
Souvenez-vous : nous avons créé le fichier avec les images de toutes les directions.
Les images correspondant aux directions Ouest nous sont donc inutiles.

De plus, comme vous avez parfaitement assimilé [THREAD=26574]l'introduction à ce tuto[/THREAD], vous savez que la suppression de la Séquence 0 n'a pas supprimé les frames qui y étaient rattachées, mais a simplement supprimé leurs index dans la séquence.

Nous allons donc supprimer définitivement les frames inutiles d'abord pour faciliter la gestion des frames nécessaires aux directions « Est », et accessoirement pour alléger le fichier .bam. Même compressées, les frames inutilisées alourdissent considérablement le poids du fichier .BAM.

Pour supprimer définitivement les frames inutiles, il faut utiliser la fenêtre "Manage frames" (gestion des images en français).

Cliquez sur le bouton "Manage" :
Image
La fenêtre de gestion des frames s'ouvre et affiche l'ensemble des frames du fichier.

Et là, deux solutions :
  1. Soit vous avez créé votre fichier bam à la volée – je dirais « stupidement » – et vous devez repérer les n° des frames utilisées par les séquences Est et les noter quelque part pour ne supprimer que les autres.
  2. Soit vous avez été prévoyant !
Dans ce cas, vous avez pris soin de numéroter les images sources à la suite les unes des autres dans l'ordre d'apparition des directions dans les fichiers bam.

Dans cet exemple, chaque direction étant composée de 10 images (0 à 9), je sais donc que je dois supprimer les 50 premières images (0 à 49) du fichier correspondant aux directions Ouest !
Image
Sélectionnez les 50 premières frames et supprimez-les avec le bouton "Delete".

:read: Notes :
  • Pour faciliter la saisie, vous pouvez utiliser les raccourcis-clavier [Maj]+[clic] pour sélectionner des lignes entières, puis [Ctrl]+[clic] pour rajouter d'autres frames à votre sélection.
  • Rien ne vous empêche aussi de procéder en plusieurs étapes : supprimer 20 frames, puis 30 par exemple...
Dans le cas présent, la première astuce permet de sélectionner toutes les frames très rapidement.
Quelle que soit la méthode utilisée, vous obtenez ceci :
Image
La frame 50 est passée en première position, mais a conservé son nom.
Ne vous inquiétez pas, à ce stade, c'est normal, mais BamWorkshop va bientôt y remédier.

Quittez cette fenêtre avec le bouton "Close".


Avant de passer à l'étape suivante, il peut être utile de sauvegarder ces modifications. Si c'est le cas, je vous conseille fortement de lire le point 11. Sauvegardez le fichier. de ce tuto afin de ne pas faire de bêtise.


:!: ATTENTION !
Lecteur a écrit : Et pourquoi je ne supprimerais pas les frames après avoir attribué leurs images aux Séquences 5 à 7 ?
Pour une raison simple et qui ne souffre aucune contestation : Parce que sinon, vous plongeriez tête la première dans l'un des bugs principaux de BamWorkshop 1 ! :this:

Pour ne pas encombrer le tuto de captures d'écrans inutiles (il y en a déjà suffisamment !), je vais répondre à cette question en spoiler.
► Afficher le texte
>> Seule la méthode que je vous ai indiquée plus haut gère parfaitement ces manipulations.


10. Affectez les frames aux séquences.

Sélectionnez la Séquence 5, puis ouvrez l'onglet Frames et effectuez un [clic-droit] : la commande "Add frame" affecte une ou plusieurs frames à la séquence sélectionnée.
Image
Ceci fait, s'ouvre une fenêtre dans laquelle vous retrouvez toutes les frames. Et ô miracle ! Elles ont été renumérotées automatiquement : la frame 50 est devenue la frame 0 (la première du fichier).
Image
Sélectionnez les frames à associer à la Séquence 5 &#8211][OK][/color].
Image
On obtient ceci :
Image
Recommencez la même opération pour les Séquences 6 et 7.

:!: :rtfm: Rappel : N'oubliez pas que toutes les séquences du fichier (hors les 5 premières) doivent être impérativement composées du même nombre de frames. Sinon, vous vous exposez fortement à un CTD.



11. Sauvegardez le fichier.

Ça y est, vous venez de créer votre premier fichier d'animation de créature. Il contient les 8 séquences nécessaires à son bon fonctionnement : les 5 premières vides (0 à 4), plus les 3 des vues Est (5 à 7).

Reste à le sauvegarder : ce serait dommage de perdre le fruit de votre travail.

Mais auparavant, vous pouvez visualiser ses différentes séquences avec la commande "Preview".

:!: :rtfm: ATTENTION : Ne le sauvegardez surtout pas sous son nom d'origine car il écraserait votre fichier source et vous ne disposeriez plus des images des animations « Ouest » !

Évitez donc absolument la commande "File > Save (et son raccourci [Ctrl]+S)" et utilisez absolument "Save as" :
Image
Pour conserver une trace de mes travaux, je modifie l'intitulé de mes fichiers. Dans cet exemple, le fichier source ECNU sera sauvegardé EC_NUE pour les directions Est et EC_NU pour les directions Ouest.
J'oublie volontairement la notion de « SD » que j'attribuerai exclusivement aux versions finalisées.


Reste maintenant à s'occuper du fichier des directions Ouest.



12. Chargez de nouveau le fichier ECNU dans BamWorkshop 1.

Plutôt que de rechercher le fichier ECNU dans l'arborescence, utilisez le menu "File" qui conserve les noms des 4 derniers fichiers sur lesquels vous avez travaillé.
Sélectionnez donc ECNU.bam
Image

13. Supprimez la séquence 0.

Vous connaissez désormais la procédure.
La seule différence avec le fichier EC_NUE, c'est que nous allons assigner les frames aux directions Ouest.


14. Faites le ménage dans les frames.

Cette fois, ce sont les images correspondant aux directions Est qui sont inutiles.
Dans la fenêtre "Manage frames", sélectionnez les frames n° 50 à 79 (les 30 dernières que nous avons utilisées pour les directions Est) et supprimez-les.
Image

15. Affectez les frames aux séquences.

Là encore, je ne vous ferai pas l'injure de me répéter : il suffit simplement d'assigner 10 frames aux 5 séquences (0 à 4).

16. Sauvegardez le fichier.

Cette fois, je sauvegarde le fichier sous le nom EC_NU pour le différencier du fichier source ECNU.


Il ne vous reste plus qu'à réitérer le processus pour les autres animations d'action ! ;)
[/size][/font]

Cas particulier : Fichiers à faible nombre de frames

Posté : ven. 25 janv. 2013, 00:56
par Freddy_Gwendo
CRÉATION D'UNE ANIMATION DE CRÉATURE AU FORMAT IWD (partie 3)





Le processus que j'ai développé plus haut fonctionne à 100 %.
Cependant, il peut s'avérer parfois assez lourd pour de tout petits fichiers.
Par ailleurs, il n'est pas forcément suffisant pour créer certaines animations qui nécessitent un traitement supplémentaire.
C'est ce que nous allons étudier dans ce chapitre.



C. CAS PARTICULIER : FICHIERS À FAIBLE NOMBRE DE FRAMES.

Utiliser deux outils pour créer un fichier bam possédant peu d'images peut s'avérer parfois inutile.
C'est le cas du fichier GH (Get Hurt).


1. Chargez dans DLTCEP le fichier regroupant les images de l'action GH : ECGH.BAM

Image


Vous constatez qu'il ne compte que 40 frames, soit 5 par directions : 0 à 24 pour les directions Ouest et 25 à 39 pour les directions Est.

Plutôt que de passer par BamWorkshop, nous allons effectuer toutes les opérations dans DLTCEP.


2. Faites le ménage dans les frames.

Nous allons commencer par faire le ménage en supprimant les frames inutiles. Cette fois-ci, nous allons créer le fichier EC_GH avant le fichier EC_GHE (vous comprendrez pourquoi plus tard...).

Positionnez-vous dans la Séquence 0 sur la première frame des directions Est : la 25.

Image


Supprimez-la en appuyant sur le bouton Remove :

Image


Vous constatez qu'elle disparaît : c'est la frame 26 qui prend la place de l'index 25.

Supprimez les frames 26 à 39 de même : le dernier index de la Séquence 0 est bien positionné sur la dernière frame des directions Ouest : la 24.

Image



3. Affectez les frames aux séquences.

Nous allons commencer par affecter les frames de la séquence 1 (Sud-Ouest) : 5 à 9.

Le principe est simple : positionnez-vous sur la Séquence 1 qui est vide pour l'instant.
Saisissez le n° de la frame (5) dans le champ Frame #, puis validez avec le bouton Add.

Image


Et voilà :

Image


Continuez l'opération pour les frames 6 à 9 :

Image


:idee: Petite astuce : Plutôt que de jongler avec la souris et le clavier, essayez-donc la suite de touches suivante :

5 [Tab] [ENTER] [Maj]+[Tab] 6 [Tab] [ENTER] [Maj]+[Tab] 7 [Tab], [ENTER] [Maj]+[Tab] 8 [Tab] [ENTER] [Maj]+[Tab] 9 [Tab] [ENTER]. :this:

En moins de temps qu'il n'en faut pour la lire, votre séquence est terminée !

Maintenant que vous êtes au point, faites de même pour les séquences 2 à 4 :

Image



:!: :skull: Attention : évitez d'appuyer sur la touche [ENTER] lorsque le pointeur ne se trouve pas sur un bouton de la fenêtre, sinon cette dernière se ferme et vous revenez sur l'écran principal de DLTCEP en ayant perdu toutes vos modifs !
J'ai informé Avenger de ce dysfonctionnement. Peut-être sera-t-il résolu lors de la prochaine version de DLTCEP ?

Maintenant, nous allons supprimer les frames inutiles de la Séquence 0 : les n° 5 à 29.

Positionnez-vous sur la frame 5 et supprimez-les :

Image


Ce qui donne :

Image



4. Sauvegardez le fichier.

Si vous avez bien regardé les écrans, vous avez remarqué que le fichier n'avait pas été compressé.
Vous connaissez désormais la manœuvre : Onglet "Tools > Compress all" pour compresser les fichiers sources bmp, puis case "Externally compressed" pour compresser le fichier bam.

Puis, même principe que pour BamWorkshop, ne pas utiliser la commande Save, mais la commande Save Bam as.
Et je sauvegarde le fichier sous le nom EC_GH pour le différencier du fichier source ECGH.

Image


Mais ce n'est pas terminé ! :no:

Vous vous souvenez peut-être de cette phrase étrange tirée du chapitre traitant de la définition des fichiers .bam : « supprimer des frames d'une séquence ne les supprime pas du fichier ».

La preuve :

Image


Les frames que nous avons supprimées dans la Séquence 0 sont toujours présentes dans le fichier.


5. Supprimez définitivement les frames non utilisées.

Pour cela, DLTCEP dispose d'une fonction magique (encore une !) : "Tools > Drop unused frames" o :) :

Image


Une fois la commande validée, DLTCEP vous informe du nombre de frames définitivement supprimées :

Image


D'ailleurs, il suffit de le vérifier :

Image


Le fichier ne contient plus que les 24 frames nécessaires...


6. Sauvegardez le fichier.

Cette fois-ci, vous pouvez utiliser la commande "Save" !


Nous pourrions faire la même chose pour le fichier GHE.

Et ben non ! :nono:

Je vais en profiter pour vous montrer une autre technique de création de fichiers BAM que j'avais évoquée dans la première partie de ce tutoriel.
Et oui, il faudra vous y faire, je préfère aller crescendo dans les notions plutôt que de tout déballer d'un seul coup, sous peine de vous faire décrocher. ;)



7. Créer le fichier BAM des directions EST.

Nous allons utiliser la technique développée dans le tuto [THREAD=6575]CRÉATION D'UN FICHIER D'ANIMATION DE DÉCOR SIMPLE (1° partie)[/THREAD] en utilisant la commande "Import many", à une nuance près : plutôt que de choisir la frame 0000, nous allons choisir la frame 0025 (la première des directions Est).

Image


Comme vous le constatez, nous n'avons importé que les 15 frames nécessaires.
Cela nous évitera de supprimer les frames inutiles.

Image



8. Créez les séquences nécessaires.

Maintenant que vous savez ajouter des séquences, je vous laisse créer les 7 séquences supplémentaires nécessaires au bon fonctionnement du fichier (1 à 7).


9. Affectez les frames aux séquences.

Là encore, vous savez faire : donc je vous laisse attribuer les frames aux séquences 5 à 7.

Image

Image


Reste un petit détail à régler : la séquence 0 ne doit comporter aucune frame.
Il faut donc les supprimer.

Sélectionnez la Séquence 0 et utilisez la méthode définie dans la section 2. Faites le ménage dans les frames. :

Image


Vous obtenez ceci :

Image



11. Sauvegardez le fichier.

Il est temps de sauvegarder le fichier sous l'appellation EC_GHE.

Image


Lecteur a écrit : Pourquoi m'embêter à supprimer toutes les frames de la Séquence 0 alors que j'aurais pu la supprimer d'un seul coup avec la commande "Drop cycle"? :fool:


Je vois que vous suivez... :good:

:nono: Mais pas de chance : je ne vous le conseille pas car vous abordez un bug aléatoire de DLTCEP. :russian_roulette:

De la même manière que les deux BamWorkshop, DLTCEP a une fâcheuse tendance à s'emmêler les pinceaux lorsqu'il s'agit de suppression de frames et de séquences.

► Afficher le texte



Mais je vous rassure, il y a un moyen de supprimer les séquences dans DLTCEP sans perdre les index. Je vous en parlerai un peu plus tard... ]

Cas particulier : Utiliser un fichier bam existant pour en créer un autre

Posté : ven. 25 janv. 2013, 01:03
par Freddy_Gwendo
CRÉATION D'UNE ANIMATION DE CRÉATURE AU FORMAT IWD (partie 4)





D. CAS PARTICULIER : UTILISER UN FICHIER BAM EXISTANT POUR EN CRÉER UN AUTRE.

Comme je vous l'ai indiqué au tout début de ce chapitre, il arrive souvent que l'on ne dispose pas de toutes les sources pour créer tous les fichiers d'action nécessaires au bon fonctionnement de toutes les animations d'une créature.

C'est ainsi que les moddeurs se contentent souvent de copier les fichiers xxxxSD et xxxxSDE en xxxxSC et xxxxSCE.
Il est vrai que c'est très pratique, mais je fais partie de ceux qui n'aiment pas beaucoup voir la même animation jouer deux actions distinctes.

Je vais donc en profiter pour vous montrer comment j'ai créé deux actions différentes (SC et SD) pour le « Hell Bovine » à partir du même fichier de départ : ECNU.

Ici encore, je vous indiquerai les deux techniques : la première réalisée dans BamWorkshop 1, la seconde (que je préfère) effectuée avec DLTCEP.
À vous de choisir celle qui vous conviendra le mieux.


1. Chargez le fichier EC_NU dans BamWorkshop 1.

J'ai dit que j'allais m'inspirer du fichier ECNU, pas que j'allais utiliser !
En fait, je travaillerai sur sa version suivante : le fichier EC_NU.
Ce qui m'évitera de refaire tout le travail sur les frames et les séquences. ;)

Comme j'ai été très consciencieux, je me suis aperçu lors du travail de préparation que l'animation NU était extrêmement rapide. Du coup, je me suis dit qu'elle conviendrait beaucoup mieux à l'action SC qui suppose une concentration extrême et une faculté de réaction rapide avant le combat.
Alors que l'action SD suppose que l'on n'est pas sur ses gardes et que l'on peut bailler aux corneilles.

Du coup, j'ai décidé d'attribuer l'action NU à SC et de lui rajouter des frames pour la ralentir avant de la sauvegarder en SD.


2. Rajoutez des frames aux Séquences.

Commencez par la Séquence 0.
Vous connaissez la manœuvre : ajouter des frames avec la commande "Add frames".

Dans le cas présent, nous allons doubler chaque frame, donc rajouter les frames 0 à 9 :

Image


Aïe ! :$
Je ne vous avais pas prévenu : BamWorkshop 1 rajoute les frames à la fin de la séquence.

:!: Et Non ! Il est impossible d'insérer directement une frame entre deux frames existantes !

C'est une des raisons pour lesquelles je lui préfère DLTCEP pour ce genre d'opération.

Mais qu'à cela ne tienne, nous avons une parade à notre disposition.


3. Réordonnez l'e rang des frames d'une séquence.

Pour modifier le rang d'une frame, il suffit de la sélectionner avec la souris, puis de la faire glisser à l'endroit désiré.

:rtfm: Astuce : Mais comme tout n'est jamais simple dans BamWorkshop, il y a un coup de main à prendre. Si vous tentez « bêtement » de faire glisser la seconde frame 0 verticalement sous la première frame 0, il y a de fortes chances qu'il ne se passe rien.
Le truc consiste à faire glisser doucement la seconde frame 0 sur la droite où elle sera matérialisée par un rectangle transparent, puis de la faire remonter (toujours à droite) sous la première frame 0. Lâchez la souris et la frame est déplacée !

Bref, le résultat final donne ceci :

Image


Il ne vous reste plus qu'à effectuer les mêmes opérations pour les 4 autres séquences du fichier EC_NU et pour les 3 séquences du fichier EC_NUE.


4 Sauvegardez le fichier.

Sauvegarder votre fichier sous l'appellation EC_NU2.


Mais comme vous l'avez constaté, outre le fait que cette technique est quelque peu laborieuse, elle peut s'avérer infaisable avec des séquences composées de plusieurs dizaines de frames. Dans ce cas, il vous faudra certainement passer par des paliers (comme pour la plongée sous-marine) : remonter les frames de 10 unités en 10 unités car ce vieil outil qu'est BamWorkshop a du mal à gérer le déplacement d'une frame lorsque la fenêtre de l'onglet « Frames » est remise à jour pour afficher les 10 frames précédentes...

C'est pourquoi je préfère et de loin DLTCEP pour effectuer ces manipulations.


5. Chargez dans DLTCEP le fichier EC_NUE.BAM.

Comme je suppose que vous avez effectué l'opération sur le fichier EC_NU, nous allons travailler sur le fichier EC_NUE.

C'est maintenant qu'intervient la commande "Add".

Image



6. Ajoutez de nouvelles frames à une séquence.

Son fonctionnement est très simple : cette commande ajoute le numéro de frame que vous avez saisi dans le champ Frame # à la suite de la frame sur laquelle vous avez positionné la souris.
En d'autres termes, cette commande aurait dû s'appeler "Insert" plutôt que "Add" !

Dans notre exemple, il suffit de sélectionner l'index 0 de la Séquence 5, de saisir 0 dans le champ Frame #, puis de valider avec la commande "Add" :

Image


Vous constatez que la seconde frame n° 0 obtient l'index 1 et que les suivantes sont décalées d'une unité.

Après avoir rajouté toutes les frames, nous obtenons ceci :

Image


Réitérez la manœuvre pour les Séquences 6 et 7.


7. Sauvegardez le fichier.

Il ne vous reste plus qu'à sauvegarder votre fichier sous l'appellation EC_NU2E.

Si vous faites un tour dans le répertoire Override, vous vous apercevrez que le fichier EC_NU2E a approximativement la même taille que le fichier EC_NUE. Ce qui confirme que ce que nous avons vu en introduction au sujet de la structure des fichiers .BAM.



Posté : ven. 25 janv. 2013, 01:07
par Freddy_Gwendo
CRÉATION D'UNE ANIMATION DE CRÉATURE AU FORMAT IWD (partie 5)





E. CAS PARTICULIER : MODIFIER GRAPHIQUEMENT LES IMAGES D'UN FICHIER .BAM.

Par commodité, les moddeurs copient souvent l'action DE (Dead) pour représenter l'action SL (Sleep) qu'ils utilisent ensuite pour l'action GU (Get Up) comme je vous le montrerai dans un instant.
Pour ma part, j'essaie de la modifier un peu pour la différencier.

Mais dans le cas du « Hell Bovine », je me suis heurté à un problème de taille : l'animation DE est assez gore – avec du sang qui gicle.
Et comme je trouvais plutôt incongru de voir notre vache s'endormir dans un nuage de sang, puis se relever comme si de rien n'était (toujours dans un nuage de sang), pour retrouver une attitude « normale », j'ai été obligé de la retravailler graphiquement.

À moins d'être un pro du graphisme, on peut aisément utiliser BamWorkshop pour cela.
D'autant plus qu'il ne nécessite aucune compétence spéciale pour obtenir un résultat plus qu'acceptable.

En théorie, BamWorkshop 2 est recommandé pour ce genre de manipulations, mais pour éviter tout risque de corruption de fichier provoquée par le passage de DLTCEP à BamWorkshop 1 puis à BamWorkshop 2 et retour à DLTCEP, j'utiliserai sciemment le premier du nom.

Je vais vous montrer comment j'ai créé les actions SL et GU à partir du fichier EC_DT.
Entre parenthèses, ces deux fichiers étaient buggés dans Infinity Animations...


1. Faites une copie du EC_DT.

Une fois le fichier ECDT retravaillé en EC_DT et EC_DTE, j'en fais deux copies : EC_SL et EC_SLE.


2. Chargez le fichier EC_SL dans BamWorkshop 1.

Comme je vous l'avais dit, l'animation est plutôt gore :

Image


Nous allons y remédier.
Pour nous faciliter le travail, nous allons utiliser la fonction "Zoom". Un grossissement x6 convient parfaitement pour la taille de nos images :

Image


J'ai indiqué en couleur 3 des types de correction que nous allons effectuer :

  • Utilisation du crayon.
  • Utilisation du pot de peinture.
  • Utilisation de l'aérographe.


:p aint: Le but de l'opération consiste à supprimer les éclaboussures de sang ou à les remplacer quand nécessaire.

Pour ce faire, nous utiliserons aussi la palette que j'ai encerclée de bleu fluo.


3. Utilisez le crayon pour rendre des pixels transparents.

Par défaut, la couleur de travail sélectionnée est l'index 0 (transparence) comme indiqué dans le cadre rouge en bas à gauche de l'écran. Ça tombe bien puisque c'est celle que nous allons utiliser.
Si ce n'était pas le cas, il suffisait de cliquer dessus dans la palette pour la sélectionner.

Pour supprimer quelques pixels, il faut sélectionner l'outil "Crayon" – cerclé en rouge sur la gauche de la fenêtre – et de le passer sur les pixels à supprimer :

Image


Les gouttes de sang qui apparaissaient dans le cercle jaune ont disparu.

Mais ce travail peut s'avérer très fastidieux. C'est pourquoi nous allons le réserver à quelques pixels isolés et utiliser deux autres méthodes plus rapides sur des zones plus importantes.


4. Utilisez le pot de peinture pour rendre des pixels transparents.

Pour des zones homogènes (composées de la même couleur), il vaut mieux utiliser l'outil "Pot de peinture" – cerclé en rouge sur la gauche de la fenêtre.
Il suffit alors de cliquer sur la zone concernée afin d'en supprimer tous les pixels :

Image


L'ombre correspondant aux projections des gouttes de sang qui apparaissait dans l'ovale rouge a disparu.


5. Utilisez l'aérographe pour rendre des pixels transparents.

Pour de grandes zones hétérogènes (composées de couleurs différentes), il vaut mieux utiliser l'outil "Aérographe" – cerclé en rouge sur la gauche de la fenêtre.
Il suffit alors de cliquer sur la zone concernée, puis de déplacer l'aérographe en maintenant la touche gauche de la souris appuyée, afin de supprimer tous les pixels :

Image


Les gouttes de sang qui apparaissaient dans le rectangle vert ont disparu.
Comme vous pouvez le constater, il est possible de modifier la taille du rayon d'action de l'aérographe.

Une fois que vous avez supprimé les pixels situés à l'extérieur de la vache, il va falloir s'attaquer aux taches de sang incrustées sur son corps :

Image



6. Utilisez la pipette pour modifier la couleur des pixels.

Pour cela, il vous faudra jongler avec la "Pipette", le "Crayon" et le "Pot de Peinture".

Pour remplacer une couleur de la tache de sang par une des couleurs du corps de la vache, sélectionnez un pixel dans le corps avec la pipette.
Vous constatez que cette couleur a remplacé la couleur de transparence dans la fenêtre de la palette (cadre rouge).
Si la teinte ne vous convient pas, recommencez jusqu'à obtention de la bonne.

Image


Puis, à l'aide du crayon (ou du pot de peinture pour des zones plus grandes), remplissez la zone que vous voulez modifier avec cette nouvelle teinte.

Et voici le résultat final :

Image


Il ne vous reste plus qu'à modifier toutes les frames qui le nécessitent, puis à sauvegarder votre fichier !

:!: :bomb: ATTENTION : Ne jamais sauvegarder dans BAMWorkshop lorsqu’on a activé la fonction « Zoom ». Sinon, un méchant bug provoquera des dégâts irréparables. Si on a activé le zoom, le remettre impérativement sur la position 100 % avant de sauvegarder.


Fort heureusement, ce genre de manipulations n'arrive que très rarement. Mais quand c'est le cas, je vous assure que le résultat final en vaut le coup !

D'ailleurs, il suffit de comparer les deux versions DE et SL :

Image





F. CAS PARTICULIER : CRÉER AUTOMATIQUEMENT L'ACTION GU (Get Up).

La plupart du temps, l'action GU (« Se relever ») est l'inverse de SL (« Se coucher »).
Il arrive parfois qu'il faille la modifier pour la rendre plus lente ou plus rapide, mais ce n'est pas le cas ici.

Comme le monde est parfois bien fait, il se trouve que DLTCEP possède une fonction qui permet d'inverser automatiquement l'ordre des frames d'une séquence. Pourquoi s'en priver ?


1. Chargez le fichier EC_SL dans DLTCEP.

:!: Les captures d'écran que je propose ne concernent pas le fichier EC_SL, mais le fichier MSH1SL qui est la version test in-game de l'action Sleep. Je continuerai toutefois à faire référence au fichier EC_SL par souci de cohérence.


2. Inversez l'ordre des frames dans les séquences

Sélectionnez la première séquence, puis appliquez-lui la commande "Cycle > Reverse cycle".

Image


Résultat : la première frame de la séquence n'est plus la n° 0, mais la n° 13 (la dernière de SL) :

Image

Lecteur a écrit : Comment ça ?
L'index a changé, mais l'image n'a pas bougé !


Pas de problème !
On respire un grand coup et on clique de nouveau sur la Séquence 0.
Et voilà : DLTCEP a réactualisé l'affichage de la frame :

Image


Si vous lancez la commande "Play Cycle", vous verrez la vache se relever.

Faites la même opération pour toutes les séquences.


4 Sauvegardez le fichier.

Il ne vous reste plus qu'à sauvegarder votre fichier sous l'appellation EC_GU.

Et faire de même avec le fichier EC_SLE...




G. CAS PARTICULIER : CRÉER AUTOMATIQUEMENT L'ACTION TW (Twitch).

Les fichiers xxxxTW et xxxxTWE représentent la créature morte. Il ne s'agit pas d'animations au sens classique du terme puisque chaque séquence est composée de deux images fixes, souvent la même répétée une fois.
De plus, une seule par séquence suffit !

Lecteur a écrit : En théorie, puisque cette image doit représenter la créature morte, il serait logique qu'elle corresponde à la dernière image de la même séquence du fichier xxxxDE.


Effectivement, c'est pourquoi l'ami Avenger a eu la bonne idée de nous fournir une fonction qui va créer automatiquement les fichiers xxxxWT à partir des fichiers xxxxDE ! :)


1. Chargez le fichier EC_DT dans DLTCEP.

Image


Cette fois, il est inutile de travailler chaque séquence, l'opération se fera automatiquement sur toutes les séquences du fichier.


2. Supprimez automatiquement toutes les frames sauf la dernière dans toutes les séquences.

Lancez la commande "Tools > Drop all but last" :

Image


Et voilà !
C'est aussi simple que ça :

Image


Vous constatez que :

  1. Le fichier ne contient plus que les 5 frames nécessaires.
  2. Chaque séquence est composée de la même frame dédoublée.
  3. Le nom du fichier à été automatiquement modifié.


:!: Truc : Pour obtenir ce résultat, il fallait avoir chargé un fichier nommé xxxxDE.

Dans notre cas, avec le fichier EC_DT, le nom du fichier n'aurait pas été modifié et il vous aurait fallu le sauvegarder sous le nom de EC_TW.

En revanche, si vous aviez chargé ECDTDE et ECDTDEE, vous auriez obtenu directement les fichiers ECDTTW et ECDTTWE.

Quant à moi, j'ai utilisé mes fichiers de test MSH1DE et MSH1DEE.


3 Sauvegardez le fichier.

Quel que soit le résultat de la manipulation précédente, il ne vous reste plus qu'à sauvegarder le fichier obtenu sous la bonne appellation.

Et faire de même avec le fichier EC_DTE.


Normalement, vous disposez désormais des fichiers A1, DE, GH, GU, SC, SD, SL, TW, WK et de leurs pendants _E.

C'est terminé ! Enfin presque&#8230]animations de créature au format BG1 SIMPLE MONSTER[/thread].


Posté : lun. 28 janv. 2013, 09:04
par Luren
Chapeau pour le temps que tu passes à rédiger ces tutos :whistle3:

Tiens, en lisant celui-ci, lorsque tu parles de la création des fichiers Est (8 séquences dont seules les 3 dernières comportent les vues NE, E, SE), pourquoi s'embêter à les créer manuellement ? Il existe une fonction dans DLTCEP qui permet de générer automatiquement un fichier .bam xxxxe :


1. Ouvrir le fichier .BAM qui comporte les 5 vues Ouest classiques sous DLTCEP ("Load external BAM")
2. Dans l'onglet "Tools", choisir "Create mirror frames", et DLTCEP crée automatiquement le bon nombre de frames (8) avec les 5 premières vides et les trois dernières en miroir.
3. Il ne reste plus qu'à enregistrer sous (Save Bam As) (...et DLTCEP nous prépare le nom de fichier en ajoutant le suffixe E au fichier que l'on vient d'ouvrir, du travail de pro !)

Ça prend même pas une minute, et l'on est sûr d'avoir le même nombre de frames, merci Avenger ! De plus, cela permet de concentrer ses efforts sur les 5 frames de la vue ouest.

Il faut seulement s'assurer d'avoir bien un fichier au format IWD de 5 frames, autrement DLTCEP ne parvient pas à appliquer sa fonction et envoie le message : This function works only on special animation bams. See the manual ! (sauf que le manual, on ne l'a pas vraiment !!).

Posté : lun. 28 janv. 2013, 17:30
par Freddy_Gwendo
Luren a écrit :Chapeau pour le temps que tu passes à rédiger ces tutos :whistle3:
C'est vrai que ça prend un temps fou, surtout pour créer les bons screenshots : de 50 à 60 images par tuto, ça bouffe du temps !
Le tout en se mettant à la place d'un novice et en essayant de prévoir tous les cas de figure que l'expérience et les plantages m'ont permis d'éviter depuis un moment.
Quelquefois, ça rallonge la procédure, mais j'espère que ça évitera des retours du style : "sympa ton truc, mais ça ne fonctionne pas quand je fais ceci, ou cela..."

Mais je préfère le faire maintenant pendant que c'est encore chaud et que je peux encore me rappeler des points un peu délicats à expliquer.

Tiens, en lisant celui-ci, lorsque tu parles de la création des fichiers Est (8 séquences dont seules les 3 dernières comportent les vues NE, E, SE), pourquoi s'embêter à les créer manuellement ? Il existe une fonction dans DLTCEP qui permet de générer automatiquement un fichier .bam xxxxe :


1. Ouvrir le fichier .BAM qui comporte les 5 vues Ouest classiques sous DLTCEP ("Load external BAM")
2. Dans l'onglet "Tools", choisir "Create mirror frames", et DLTCEP crée automatiquement le bon nombre de frames (8) avec les 5 premières vides et les trois dernières en miroir.
3. Il ne reste plus qu'à enregistrer sous (Save Bam As) (...et DLTCEP nous prépare le nom de fichier en ajoutant le suffixe E au fichier que l'on vient d'ouvrir, du travail de pro !)

Ça prend même pas une minute, et l'on est sûr d'avoir le même nombre de frames, merci Avenger ! De plus, cela permet de concentrer ses efforts sur les 5 frames de la vue ouest.

Il faut seulement s'assurer d'avoir bien un fichier au format IWD de 5 frames, autrement DLTCEP ne parvient pas à appliquer sa fonction et envoie le message : This function works only on special animation bams. See the manual ! (sauf que le manual, on ne l'a pas vraiment !!).
Argh !
Grillé ! ;)

Je comptais expliquer ce point dans la dernière rubrique "Truc et astuces", avec d'autres ! ^^

Je ne l'ai pas utilisé ici pour une raison simple : elle ne fonctionne parfaitement qu'avec des animations sans ombres. Sinon, la commande "Create mirror frames" modifie aussi l'orientation des ombres.
Résultat : si tes ombres étaient orientées à 45° au nord-est pour les vues ouest, elles se retrouvent à 45° au nord-ouest pour les vues est.
Ça fait un peu désordre ! ;)
D'ailleurs, les screenshots l'illustrant sont déjà prêts : une série sur le Hell Bovine pour constater l'effet miroir peu esthétique sur les ombres, et une autre sur une vache Arcanum sans ombre.

J'ai par ailleurs gardé sous le coude d'autres petites astuces que je distillerai au fur et à mesure des tutos, pour illustrer des points précis.

Je préfère privilégier dans un premier temps un processus qui fonctionne à 100 %.
Quitte à le modifier au fur et à mesure de l'apprentissage. D'ailleurs, dans les prochains chapitres concernant les formats BG1 et BG2, certains points pourront être utilisés pour le format IWD, par exemple une autre manière de supprimer plus rapidement des frames et des séquences. Mais je souhaite que, dans un premier temps, l'utilisateur comprenne bien le principe et les bugs à éviter. Une fois cette notion assimilée, il pourra utiliser une autre technique plus rapide.

Ceci dit, j'attends aussi les retours car je me doute bien que tout n'est pas parfait et que je peux passer au travers de certains points, soit parce qu'ils me paraissent évidents avec l'expérience, soit parce que je ne les ai pas utilisés...

Posté : lun. 28 janv. 2013, 22:26
par Luren
...la commande "Create mirror frames" modifie aussi l'orientation des ombres.
Résultat : si tes ombres étaient orientées à 45° au nord-est pour les vues ouest, elles se retrouvent à 45° au nord-ouest pour les vues est.
Ça fait un peu désordre !
Oui. D'où l'utilité d'avoir des ombres produites par une lumière de midi, parfaitement à la verticale du sujet, peut-être moins expressives, mais qui ne posent pas de problèmes lorsqu'on y applique une symétrie. L'autre avantage tient à leur meilleure intégration dans des maps. Même si les différentes maps reprennent souvent le même type d'éclairage avec une source lumineuse au Sud-Ouest, d'autres ont des éclairages très différents, et une animation avec une ombre très typée peu jurer, dans certaines circonstances, ce qui ne sera pas le cas d'une animation avec une ombre de midi (comme c'est le cas avec les animations originales).

On retrouve le même problème lorsqu'on crée des images avec des ombres dans Photoshop, pour les coller ensuite sur une map (par exemple des arbres, des maisons...). Si on veut pouvoir les utiliser de manière variée, il peut être intéressant de leur appliquer une symétrie horizontale. Dans ce cas, il vaut mieux ne pas avoir intégré leurs ombres aux images, mais les avoir mises dans des calques indépendants, car autrement l'effet est désastreux !

Posté : mar. 29 janv. 2013, 18:33
par Freddy_Gwendo
Oui. D'où l'utilité d'avoir des ombres produites par une lumière de midi, parfaitement à la verticale du sujet, peut-être moins expressives, mais qui ne posent pas de problèmes lorsqu'on y applique une symétrie. L'autre avantage tient à leur meilleure intégration dans des maps. Même si les différentes maps reprennent souvent le même type d'éclairage avec une source lumineuse au Sud-Ouest, d'autres ont des éclairages très différents, et une animation avec une ombre très typée peu jurer, dans certaines circonstances, ce qui ne sera pas le cas d'une animation avec une ombre de midi (comme c'est le cas avec les animations originales).
Précision rajoutée dans la rubrique "Trucs et astuces" avec exemple de création à partir d'un fichier "ombres à midi" - mes Licornes dans un hypothétique format IWD !

Merci pour ton suivi. :thank_you2: ;)