TOMB-RAIDER-EDITOR.com

image
image
image


Manuel NGLE




Textures Animées : Techniques Avancées

par Bedazzled

Toutes les textures de cascades de TR3 ont été compilées en un seul TGA pour plus de facilité, et peuvent être téléchargées ici (249 ko) :

Télécharger


Note : ce tutoriel ne s’applique qu’au nouveau moteur de jeu et non au précédent NGLE.

P-Frames

Ceci vous permet de changer le texturage d’une pièce sans utiliser de flipmaps. Par exemple, vous pouvez changer la surface du sol d’herbe en neige en utilisant un flipeffect.

Pour ce faire, vous devez attribuer une rangée d’animation conposée de 2 textures ou plus à l’aide de Anim – Type paramétré sur P – Frame. En appliquant le trigger indiqué ci-dessous, la texture référencée par le paramètre [E]xtr est remplacée par la texture référencée par la paramètre du timer. Deux rangées de P – Frame séparées peuvent être utilisées avec ce type de trigger.


Manuel NGLE - Textures animées - Techniques Avancées


River-Rotate

Note: pendant les tests, j’ai utilisé des textures d’eau normales, fournies avec les fichiers tga standards.

Je recommande de ne pas utiliser de valeurs supérieures à 4 et 6 respectivement pour des textures de 64x64 et 128x128 car l’effet désiré est perdu lorsque l’on utilise des vitesses de défilement élevées.


Informations fournies par Paolone

Cette animation est un mélange de UV-Scroll full rotate et d’animations de frames classiques. Elle est utilisée pour simuler l’eau courante d’une rivière. En fait, l’eau est courante (UV-range) mais il y a aussi de la lumière réfléchie à la surface (frame animation).

Pour paramétrer cela dans la fenêtre Animation Range du NGLE, vous devez indiquer dans la liste déroulante supérieure une valeur faible pour UvRotate, telle que 1 ou 2 pour des textures de 64x64 ou une valeur de 2 ou 3 pour des textures de 128x128.

Dans la liste déroulante inférieure, vous devez paramétrer une valeur pour MAX_FPS de 28 fps ou un peu en dessous. La liste déroulante inférieure va paramétrer la vitesse d’animation des frames (comme pour l’eau normale) alors que la liste déroulante supérieure paramètre la vitesse de défilement (UvRange).

Il est recommandé de paramétrer seulement quelques textures d’eau pour la rivière, afin de permettre de conserver d’autres textures pour l’eau normale.

La rangée River-Rotate est placée dans le niveau comme des textures d’eau normales – « double sided et transparent » sur un portail entre deux pièces superposées. Lorsque vous placez vos textures pour votre rivière, il est important de faire pivoter toutes les textures de la même façon afin de garder le même sens que l’animation UvRotate. Le sens doit suivre celui du courant, bien entendu.

Si dans le jeu vous ne voyez pas très bien l’eau couler, il peut être utile de réduire la vitesse des frames, en paramétrant dans la liste déroulante inférieure une valeur de MAX_FPS plus faible, par exemple en utilisant 28 fps ou 20 fps.

Paolone recommande que pour ce qui concerne la rangée d’animation de la rivière, quelques-unes des textures de la rangée soient placées en mode opaque dans une partie cachée du niveau. J’ai testé avec et sans textures opaques et n’ai pas remarqué de différence dans l’effet obtenu.

Séquences de Textures

Celles-ci permettent le remplacement d’une texture par une autre dans une séquence définie par le créateur de niveaux, et peut être démarrée et arrêtée successivement en utilisant des triggers flipeffect. Un créateur de grand talent peut réussir à faire en sorte à ce que les joueurs puissent voir Lara sur une sorte d’écran en bougeant les lèvres comme si elle leur parlait.

Seules des textures placées à des endroits précis du TGA peuvent être utilisées. Celles-ci sont indiquées ci-dessous et sont comptées horizontalement depuis le coin en haut à gauche du fichier TGA, en commençant par 1.

Ce sont les textures de 5 à 12 et de 21 à 24. Toute texture située à un autre endroit du TGA ne fonctionnera pas. Ce problème pourrait être résolu à l’avenir, auquel cas, ce tutoriel sera mis à jour afin de prendre en compte les changements.

Beaucoup d’informations utiles concernant la commande de script nécessaire ainsi que ses différents paramètres sont incluses dans la documentation sur les scripts pour TRNG fournie par Paolone, dont la partie concernée est retranscrite à la fin de ce tutoriel. Je donnerai juste des exemples de paramétrages utilisant diverses séquences de textures.


Exemple 1 : séquence et rangée simples

Dans la fenêtre Animation Ranges, sélectionnez les textures souhaitées, jusqu’à un maximum de 16, depuis la liste déroulante Anim-Type, sélectionnez P – Frames et cliquez sur les boutons Assign et OK.

Mettez en place un trigger pour cet effet à l’endroit souhaité, puis les paramètres du trigger comme montré ci-dessous :


Manuel NGLE - Textures animées - Techniques Avancées


Note: le paramètre de la rangée d’animations placé dans la fenêtre du trigger doit correspondre au numéro de la rangée mise en place. Si, par exemple, vous aviez précédemment défini une rangée d’animations pour n’importe quelle raison, vous devrez sélectionner la deuxième rangée d’animations dans la liste déroulante [E]xtra.

Un second trigger pour arrêter l’effet peut également être défini comme indiqué ici :


Manuel NGLE - Textures animées - Techniques Avancées


Enfin, pour terminer le paramétrage, la commande TextureSequence= doit être ajoutée à la partie « level » de votre script, comme le montre l’exemple ici :

TextureSequence= 1, 1, SEQ_LOOP,3, 2, 1, 0

Ceci fera tourner une séquence de quatre textures dans l’ordre 3,2,1,0 à un taux d’une par seconde, en boucle infinie jusqu’à être stoppée par un flipeffect.

Les divers paramètres pouvant être utilisés sont expliqués en détail à la fin de ce tutoriel.


Exemple 2 : plusieurs séquences et rangées

Ceci est paramétré de la même façon que l’exemple précédent, jusqu’à ce que l’on arrive au paramétrage des triggers et des entrées du fichier script. Dans cet exemple, j’ai paramétré une rangée d’animations pour les textures d’eau normales avant de paramétrer la seconde rangée de textures, en fin de compte j’ai sélectionné la 3è rangée d’animations dans la liste déroulante [E]xtra de la fenêtre du trigger.


Manuel NGLE - Textures animées - Techniques Avancées


Le script nécessite une entrée pour chaque rangée comme décrit ici, la seconde entrée faisant référence à la seconde rangée numérotée 3 comme expliqué ci dessus. J’ai également choisi comme vitesse 2 frames par seconde et également un défilement inversé à l’aide de SEQ_LOOP_INVERSE.

TextureSequence= 1, 1, SEQ_LOOP,3, 2, 1, 0
TextureSequence= 3, 2, SEQ_LOOP_INVERSE,3, 2, 1, 0


Exemple 3 : des séquences multiples avec une seule rangée

Il est possible d’avoir plusieurs séquences de textures dans une seule rangée d’animations. Pour cette exemple, j’utiliserai une seule rangée de 8 textures divisées en 2 séquences. Voici les textures utilisées pour ce tutoriel afin que vous puissiez mieux comprendre comment cela se passe.



Manuel NGLE - Textures animées - Techniques Avancées


Partons du principe que pour commencer, la texture “A” est appliquée sur un mur, et que nous voulons que les textures comportant une lettre forment une séquence et les textures comportant un chiffre forment l’autre séquence.

Nous devrons paramétrer ce trigger pour la première séquence :



Manuel NGLE - Textures animées - Techniques Avancées


Et ce trigger pour la seconde:



Manuel NGLE - Textures animées - Techniques Avancées


Puis saisir ces lignes dans le script :

TextureSequence= 1, 1, SEQ_LOOP,0, 1, 2, 3
TextureSequence= 2, 1, SEQ_LOOP,4, 5, 6, 7

Les chiffres de 0 à 7 font référence à la position de chaque texture au sein de la rangée. Lorsque le premier trigger est activé, la lettre « A » sera remplacée par les lettres B, C et D successivement. Une fois le second trigger activé, la séquence deviendra comme suit : A, 1, B, 2, C, 3, D, 4.

Le fait d’activer les 2 triggers dans l’ordre inverse aurait pour résultat les séquences suivantes : 1,2,3,4 et 1,A,2,B,3,C,4,D.

Chacune des séquences, ou les deux, s’arrêtent en utilisant un flipeffect comme indiqué dans l’exemple 1 et peuvent aussi être arrêtées et redémarrées successivement.


TextureSequence=
********************

Syntaxe: TextureSequence=IdTexSeq, FramePerSec, SEQ_ flags, Tex Indices array {...}
Emplacement : à utiliser dans la section [Level]

Champ IdTexSeq
Nombre progressif pour l’identification de la séquence de textures lorsque vous l’activez en utilisant un trigger flipeffect. Vous utiliserez « 1 » pour la première commande TextureSequence, « 2 » pour la deuxième commande, etc…

Champ FramePerSec
Dans ce champ, vous paramétrez la vitesse de la séquence. La valeur est en frames par seconde. La valeur maximale est de 30, càd 30 frames par seconde, la valeur minimale est de 1.

Champ SEQ_ flags
Vous pouvez paramétrer deux SEQ_flags ou plus. Vous en trouverez la liste dans le panneau de référence du programme NG Center.

Pour le moment, il existe les indicateurs suivants :

SEQ_LOOP
La sequence se déroulera à l’infini. Si vous utilisez cet indicateur, vous devrez utiliser un flipeffect spécial pour arrêter la séquence, autrement, elle se déroulera continuellement.

SEQ_LOOP_INVERSE
Cet indicateur fonctionne uniquement si vous avez paramétré un indicateur SEQ_LOOP. Alors que le simple indicateur SEQ_LOOP met en place une boucle infinie de la séquence (en supposant que nous utilisions 4 textures, de 0 à 3) la séquence se déroulera ainsi :
0 1 2 3 0 1 2 3 0 1 2 3 …

Lorsque vous paramétrez également un indicateur SEQ_LOOP_INVERSE, alors la séquence se déroulera comme suit :
0 1 2 3 2 1 0 1 2 3 2 1 0 …

SEQ_STOP_AT_FIRST
Si vous paramétrez cet indicateur, vous forcez le moteur de jeu à revenir à la première texture de la rangée lorsque la séquence d’animation s’est entièrement déroulée. Au contraire, si vous oubliez cet indicateur, la dernière texture qui s’affichera dépendra du type de séquence paramétré.

Si vous n’avez pas paramétré de boucle (loop), la dernière texture qui apparaîtra sera celle comportant le dernier indice de la séquence. Si vous avez paramétré une boucle, la dernière texture qui s’affichera dépendra du moment exact auquel vous déclencherez le flipeffect « Stop texture sequence ».

Champs Tex Indices array {…}
Le tableau tex indices peut héberger jusqu’à 100 indices différents. Vous séparerez les valeurs par des virgules classiques. Chaque indice décrira la position de l’indice pour chaque texture à l’intérieur d’une même rangée d’animations.

Par exemple, si vous paramétrez quatre textures du fichier tga, avec une lettre sur chaque texture, par exemple A sur la première, puis B, C et D. Lorsque vous voulez afficher un frame avec la texture A, vous taperez 0 (zéro), lorsque vous voudrez afficher la B, vous taperez 1, etc…

Par exemple, si votre commande TextureSequence est la suivante :

TextureSequence= 1, 4, IGNORE,
3, 2, 1, 0

Vous aurez une séquence avec comme ID = 1 (il s’agit du nombre à paramétrer dans le trigger flipeffect pour démarrer/arrêter cette séquence).

L’animation sera lente, car vous aurez paramétré 4 frames par seconde, ainsi l’image ne changera que quatre fois par seconde.

Pas de boucle, car vous avez paramétré IGNORE pour SEQ_flags.

La séquence s’affichera dans le jeu avec les images suivantes :

D (3)
C (2)
B (1)
A (0)


Remarques :

- Les rangées que vous pouvez animer avec la commande TextureSequence doivent être paramétrées en tant que « P-Frames » sous NGLE.

- Le nombre maximum de textures que vous pouvez animer en utilisant TextureSequence est de 16. Ce qui signifie que vous ne pouvez saisir que des nombres compris entre 0 et 15 dans les champs Indices Array.

- Vous pouvez animer la même rangée P-Frame avec différentes commandes TextureSequence.

- Le nombre de P-Frame à animer devra être paramétré dans le trigger flipeffect.




Retour

image
Mentions Légales    ©Copyright 2007-2009© tomb-raider-editor.com Tous droits réservés
Dernière mise à jour : 17/05/2008