Warning: Undefined array key "HTTP_ACCEPT_ENCODING" in /home/clients/97cf10fa399c6faa42e2c9c80e9afbe5/web/tutoriel/index.php on line 2

Deprecated: substr_count(): Passing null to parameter #1 ($haystack) of type string is deprecated in /home/clients/97cf10fa399c6faa42e2c9c80e9afbe5/web/tutoriel/index.php on line 2
Tutoriel sur les animations avec Terragen : comment utiliser Campath, par Hoffmann Nicolas

Tutoriel sur les animations avec Terragen
Par Hoffmann Nicolas
Première partie
Egalement disponible en anglais English version
(2nde partie disponible ici)
(3ème partie disponible ici)

Introduction

Le but de ce tutoriel n'est pas de trouver une méthode géniale qui vous permettra de réussir vos animations à chaque fois du premier coup (impossible, croyez-moi), mais plutôt de donner une trame générale qui est, à mon sens, logique.
Je vais donc m'efforcer de détailler en étapes la création d'une petite animation.
C'est loin d'être une science exacte, vous en conviendrez certainement en lisant l'exemple.

Plan du tutoriel

Revenir en haut de page

Pré-requis

Plusieurs éléments seront nécessaires pour la réalisation de l'exemple.
Revenir en haut de page

1) Pour commencer :

Il faut tout d'abord faire quelques essais sous Terragen, trouver un terrain plaisant, commencer à élaborer une texture, se donner une idée générale.
Personnellement, je bouge la caméra un peu partout sur le terrain, voir si ça me donne des idées, et surtout voir si le terrain offre des possiblités d'animation, j'entends par là qu'il sera possible de donner un itinéraire à la caméra.
Vision rapide de Terragen
Ici, j'ai choisi un terrain de 513*513 (il y a des possibilités de bouger, sans trop tourner en rond). On peut aller jusqu'à 1025*1025, mais après ça rallonge le temps de calcul drastiquement. J'ai décidé d'ajouter de l'eau, une texture simple (pour l'exemple, pas envie de me prendre la tête), j'ai fait quelques prises de vue, il y a moyen de faire quelquechose d'intéressant à mon sens.
Après avoir monté la taille du ciel à au moins 7500 pour éviter un problème de ciel noir durant l'animation, il faut sauvegarder obligatoirement le terrain, et le monde aussi tant qu'on y est.
Revenir en haut de page

2) Premier lancement de Campath !

On peut maintenant lancer Campath, il vaut mieux garder Terragen derrière, ça va servir.
Voici une capture d'écran de Campath :
Campath !
  • Le menu "File" vous permet d'ouvrir/enregistrer un terrain/fichier Campath/script Terragen.
  • Le menu "View" contient des outils nécessaires à une meilleure visualisation du terrain (je ne m'attarde pas dessus, j'y reviendrai dans les étapes suivantes)
  • Le menu "Animation" permet d'animer (ou non) les nuages, le soleil, plus d'autres options (j'y reviendrai aussi plus tard)
  • Enfin, "Miscellaneous" permet de paramétrer différentes choses (vitesse de l'animation, le zoom), et contient différentes statistiques (j'y reviendrai également).
  • "Use a Look at path" permet de spécifier une trajectoire qui va servir de point de visée à la caméra (littéralement, là où la caméra regarde). Je reviendrai là-dessus dans un second tutoriel, car il y a beaucoup à dire à ce sujet.
  • "Auto Banking" permet de (mal) gérer l'inclinaison de la caméra durant l'animation (cf 5))
  • "Looping path" permet simplement de "boucler" l'animation : le point d'arrivée sera celui de départ.
Ouverture du terrain
Entrons dans le vif du sujet : première chose à faire : aller dans le menu "file", et importons donc le terrain de l'animation ("open terrain file").
Revenir en haut de page

3) Niveau d'eau et disposition des points 

La première chose à faire est d'ajuster le niveau de l'eau. Comme Terragen est resté ouvert, il suffit de voir quelle valeur a été entrée. Sous Campath, il suffit de cliquer sur "Water Level", et de rentrer la bonne valeur, en l'occurence -3 pour notre exemple.
Immédiatement, l'eau apparaît sur notre terrain.
Il faut ensuite disposer les points qui serviront à la trajectoire de la caméra. A tout hasard, il faut vérifier dans "Control Points" qu'il n'y ait pas déjà un point de départ ("starting point") (ça arrive souvent qu'en ouvrant le terrain on mette un point). On peut donc le supprimer en cliquant d'abord sur "starting point", et ensuite sur "Delete point" (Supprimer un point) juste en-dessous.
Cette fois, nous pouvons commencer !
Trajectoire de base
Pour info, quand "Adds a new path" est coché, on ajoute un point, et quand "Change point location" est coché, c'est pour déplacer un point que l'on a sélectionné via "Control Points" (la liste des points à droite).

Je décide de faire un petit tour comme indiqué ci-contre.
Le point vert indique le point de départ.
(juste une disposition de points, rien de plus)
Revenir en haut de page

4) Mise à "niveau" :

Si on fait une prévisualisation (bouton "Preview Animation"), on va voir dans la vue en 3d qu'on passe sous le terrain. On peut voir ce problème sur l'affichage de la trajectoire ci-dessus, certaines parties de la trajectoire sont en rouge au lieu d'être en bleu, cela indique que la caméra est en-dessous du terrain, d'où problème ! Pour solutionner ce problème, un outil très utile dans le menu "View" est disponible :"Height Graph" (littéralement "graphe des hauteurs"). Ca ne paie pas de mine, mais c'est vraiment très utile !
Height graph
Comme l'indique l'image ci-contre, la trajectoire passe sous le terrain.
Il suffit de cliquer sur le point que l'on veut "rehausser" dans le graphe, les coordonnées de ce dernier vont s'afficher dans l'écran de Campath, et il faudra jouer sur "Absolute Height" (hauteur absolue), ou sur "Heigth above terrain" (hauteur "au-dessus du terrain"), qui doit donc être positive (sauf effet spécial inconnu de ma part :)!).

Toutefois, cela peut ne pas être suffisant. Des fois, on peut remonter les points suffisamment au vu du "Height Graph", mais la vue 3D ou la vue du terrain indiquent que certains passages sont quand même en dessous du terrain.
La solution la plus évidente dans ce cas est tout simplement d'ajouter un point entre les points où se situe le problème. Par exemple, si l'on veut insérer un point entre le point 4 et 5, il suffit de cliquer sur "Insert Point" (insérer un point), Campath demande "Insert a point after which point ?" (après quel point ?), donc indiquons 4.
ATTENTION : il faut vérifier systématiquement que la caméra reste bien au-dessus du terrain, l'insertion d'un point peut entraîner ce genre de problème. De manière générale, il faut vérifier à chaque fois que les modifications faites n'invalident pas le boulot sur les points précédents.

Quand il n'y a plus de partie de la trajectoire qui est en rouge, et que la vue 3D confirme cette indication, on peut passer à l'étape suivante. (et vous pouvez être content, car c'est une des parties les plus ch... longues de la création d'une animation qui vient d'être finie...)
Revenir en haut de page

5) Gestion de l'inclinaison (Banking) :

Comme je le disais plus haut, "Auto-Banking" gère mal l'inclinaison. Sauf dans des cas particuliers, il vaut mieux gérer soi-même l'inclinaison. C'est assez simple à faire :
Changement d'un banking
Pour notre exemple, nous voyons que j'ai sélectionné le point numéro 3 (en jaune sur l'image à gauche). Si on regarde la trajectoire, on voit qu'une inclinaison vers la droite serait nécessaire.
Il suffit donc d'entrer un banking positif (10) pour une légère inclinaison vers la droite.
Si on veut la même inclinaison vers la gauche, il suffira de rentrer un banking de -10.
Un banking de 90 nous mettra en angle droit par rapport au terrain, 180 nous mettra la tête en bas, et 360 nous fera faire une vrille !
C'est donc un intense aller-retour entre la vue en 3D et le panneau de contrôle pour voir si le banking est adapté ou non. Avec l'habitude, on arrive vite à trouver les bonnes valeurs...
Note : Vous pouvez voir que le parcours a changé, j'ai décidé de finir en un pseudo-crash, donc le dernier point aura un banking élevé, à savoir 365.
Re-note : ce changement en cours illustre bien le fait que ce genre de travail est tout sauf statique. Il suffit d'une idée qui arrive subitement pour tout changer dans le parcours, et donc on reprend le boulot (mise à niveau des points, etc...)

Revenir en haut de page

6) Gestion des zooms :

Voici une propriété géniale, mais assez dangereuse ! Pourquoi ? Parce qu'elle peut contribuer à donner des effets superbes si elle est bien gérée, mais ça peut casser le rythme d'une animation sonorisée, ou ça peut la rendre difficile à sonoriser, car ça change l'impression de vitesse. Le principe est sensiblement le même que pour le banking, il suffit de changer la valeur du zoom à un point donné (via donc le paramètre "zoom" du point).
Encore une fois, j'insiste sur le fait qu'il ne faut pas y aller trop fort sur les valeurs. On descend rarement en-dessous de 0.9 et on monte rarement au-dessus de 2 (sauf effet voulu).
DANGER : des bugs subsistent si l'on donne des valeurs trop basses au zoom (genre plantage) ! Il n'y a pas dans ce paramètre de solution miracle, il faut faire des essais, et voir si ça marche ou pas.
Si vous voulez voir ce que ça peut donner comme effet, allez faire un tour sur mon site perso dans la rubrique "anims", la première use et abuse de cet effet ("jeux de zooms" est son titre).
Note : On peut également modifier la vitesse "speed" en un point, à essayer également.
Revenir en haut de page

7) Mouvements des nuages et du soleil :

Encore des options sympathiques : on peut imprimer un effet de vent aux nuages, et permettre une rotation au soleil.
Animation des nuages
Animation du soleil
Pour les nuages, il suffit d'aller dans le menu "Animation", et de cliquer sur "Cloud Movement" (mouvement des nuages).
L'image ci-contre indique ce que vous obtenez : on peut donc régler le sens de déplacement des nuages (via "Cloud Direction") et la vitesse de ces derniers (via "Cloud Speed").
Inutile de préciser qu'il faut cocher "Cloud Move" pour que ça prenne effet !
Pour le soleil, il suffit d'aller dans le menu "Animation", et de cliquer sur "Sun Movement" (mouvement du ... soleil !).
L'image ci-contre indique ce que vous obtenez : on peut donc régler la hauteur ("altitude") du soleil du point de départ (starting location), et la direction de ce dernier ("Heading").
On peut faire de même avec le point d'arrivée ("Ending location").
Ca peut paraître compliqué ou peu intuitif (surtout la direction), mais vous pouvez utiliser le bouton "Preview", personnellement, ça m'aide beaucoup à comprendre comment le soleil va éclairer mon animation.
Vous pourrez d'ailleurs remarquer que dans la vue en 3D, on a un un terrain ombragé en fonction de la position du soleil. Très pratique !
DANGER : un bug survient parfois dans les animations très longues (plusieurs minutes), si le mouvement des nuages est trop rapide, cela peut créer des problèmes dans le ciel...

Revenir en haut de page

8) Dernières modifications et informations :

Voilà, le plus dur est fait à mon avis. Il reste quelques options intéressantes. Dans le menu "Miscellaneous", "Global Change Menu" permet de modifier divers paramètres, et ce pour l'animation entière (le zoom, la vitesse de l'animation, etc...).
Dans le même menu, "Compute number of frames" vous donne des indications diverses et variées sur l'animation.
D'autres options sont disponibles, mais je ne les détaillerai pas ici, à vous de voir à quoi elles servent ! :p

Toutefois, il reste une chose importante à faire, sauvegarder le script Terragen (.tgs).
Pour ce faire, allez dans "File", "save terragen script" et donnez-lui un nom (tutoriel.tgs par exemple). Ensuite, Campath va demander où sauvegarder chaque image ("frame"), et le nom du fichier générique ("frame0001.bmp", "frame0002.bmp", etc...).
Je vous conseille de créer un répertoire pour tous ces nombreux fichiers, c'est plus pratique, surtout si l'animation est longue.
Ensuite, il n'y a plus qu'à lancer Terragen, charger le terrain, charger le monde, aller dans le menu "Terragen", faire "execute script", et indiquer le script récemment sauvegardé.
Là, prenez votre mal en patience, à titre d'idée, cette animation a pris environ deux jours non stop pour être calculée... en 400*300 !
Revenir en haut de page

9) Division du script :

Si vous n'avez pas la possibilité de tout calculer d'un coup, ce qui est plus que probable, rassurez-vous, il est possible de fractionner le calcul.
La manipulation est extrêmement simple. Votre fichier script se présente sous la forme :
   ; This Terragen script created by the Camera Path Editor, v3.20
   ; http://www.geocities.com/~ffrog

   ; Base filename for images followed by starting frame number.
   initanim "D:\images\terragen\anims\tut\www", 1

   ; Cloud movement activated. Format: 'CloudVel speed,direction'
   CloudVel 2.0, 55

   ; Sun movement activated. Format: 'SunDir heading,altitude'

   ; This script was created for a water level of: -3
   ; Individual frames follow. Total: 1210
   ; Frame #1
   CamPos 469.938543,47.40903,15.053843
   TarPos 468.876166,47.817763,14.568962
   CamB 0.0
   Zoom 1.411584
   SunDir 64.797516,30.012396
   FRend
   ; Frame #2
   etc...
   
Supposons que le calcul s'est arrêté à l'image numéro 356 (l'image numéro 355 a été calculée, et pas la 356).
Il faudra donc modifier votre script de cette manière 
(Ceci est le nouveau fichier)
   ; This Terragen script created by the Camera Path Editor, v3.20
   ; http://www.geocities.com/~ffrog

   ; Base filename for images followed by starting frame number.
   initanim "D:\images\terragen\anims\tut\www", 356 <-- indiquez d'où il faut repartir 

   ; Cloud movement activated. Format: 'CloudVel speed,direction'
   CloudVel 2.0, 55

   ; Sun movement activated. Format: 'SunDir heading,altitude'

   ; This script was created for a water level of: -3
   ; Individual frames follow. Total: 1210
   Et ici, il faut enlever toutes les lignes inutiles, c'est-à-dire jusqu'à la frame 356.
   ; Frame #356
   CamPos 310.668568,390.183069,12.54556
   TarPos 311.155884,391.356311,11.943218
   CamB -48.223358
   Zoom 1.82335
   SunDir 352.917358,34.413223
   FRend
   ; Frame #357
   etc...
   
Ne vous inquiétez pas du mouvement des nuages, il n'y a pas de problème !
Un bête éditeur du style Wordpad ou Notepad fera l'affaire. Toutefois, je vous conseille vivement de sauvegarder la fin du script sous un autre nom de fichier ("tutorielfin.tgs" par exemple), en cas de problème, vous pourrez retomber sur vos pieds car le script original n'a pas été détruit ou modifié.
Enfin, il faudra "assembler" toutes les images pour créer l'animation. Et vous pourrez même faire un brin de montage pour rendre l'animation plus réussie.

Voici le résultat de ce tutoriel avec un brin de montage : Fichier zip de 10 Mo, codec Divx 5.01 minimum pour le lire !

Pour pouvoir lire ce tutoriel hors ligne, voici une archive zip : fichier (environ 700Ko)

N'hésitez pas à me mailer pour me dire ce que vous pensez de ce tutoriel, ou pour me montrer vos animations !
Hoffmann Nicolas
Document compatible XHTML 1.1 et CSS

Valide XHTML 1.1!  Valide CSS!