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
Pré-requis
Plusieurs éléments seront nécessaires pour la réalisation de l'exemple.
- Terragen, bien sûr !
- Le logiciel Campath
(j'utilise la version 3.20, la plus simple à mon goût).
-
Un PC d'une puissance correcte pour le calcul : j'ai
l'habitude de travailler avec un Athlon 1 Ghz, 256 Mo de
RAM, et
c'est déjà limite pour certaines animations (heureusement, je suis plutôt du genre patient).
Plus il y a de RAM et de puissance, meilleur c'est. Inutile de préciser qu'il faudra de
l'espace disque.
Les calculs peuvent être TRES longs, particulièrement si, dans l'animation, on a de l'eau. Cette composante
influe beaucoup sur le temps de calcul.
Il faut bien garder à l'idée que l'on ne calcule pas une image, mais des centaines !
-
Un logiciel pour "assembler" le tout : Terragen va calculer image par image, et va sauvegarder ces images
sur votre disque une à une, au format BMP. Ensuite il faudra "coller" ces images les unes à la suite des autres
pour créer l'illusion du mouvement (à 25 images/seconde pour notre exemple).
Personnellement, j'utilise Bink, très simple et rapide.
VideoMach n'est pas mal non plus.
- La quintessence de la technologie... un simple éditeur de texte de type wordpad.
- Sauvegarder à chaque modification, surtout sous Campath ! ("save camera path file")
- De la patience : indispensable ! (pour le temps du calcul surtout)
-
Freiner ses envies : je m'explique, il faut garder à l'idée que l'on ne calcule pas une seule image
(c'est évident, mais c'est plus important que ça en a l'air), donc fini les calculs en 4000*3000, avec des terrains immenses et
avec tous les paramètres à fond !
En général, un calcul en 400*300 est un bon compromis taille/puissance, je ne me suis jamais hasardé à calculer une
animation au-dessus du 640*480, ou alors il faut disposer de plusieurs grosses bécanes si on ne veut pas que le calcul
dure plusieurs semaines ! (je suis extrêmement sérieux, certaines de mes anims ont mis quelques centaines d'heures
pour être calculées)
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.
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.
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 :
- 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.
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").
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 !
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)
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 !
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...)
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 :
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...)
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.
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.
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...
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 !
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 700
Ko)
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