Introduction
Avant toute chose,
si vous débutez complètement dans le domaine des animations avec Terragen, je vous conseille
vivement d'aller voir
le précédent
tutoriel que j'ai créé. Il est très accessible (c'est le but !), et doit pouvoir vous permettre de
comprendre les bases du fonctionnement de Campath et de ce tutoriel.
N'hésitez pas à aller voir
le second tutoriel que j'ai créé, il vous permettra de voir d'autres aspects liés aux mouvements de caméra.
Que ce soit clair : je ne vais pas développer à nouveau comment utiliser Campath, tout au plus je mettrai un lien vers la rubrique
des précédents tutoriels.
Quand je parle d' "animations plus complexes", je veux simplement parler des contraintes qui vont s'imposer si vous
vous lancez dans
des animations :
- Plus longues
- Plus complexes (divers effets, etc.)
- En plus grand format
- Voir mêmes des animations faisant partie... des 3 catégories ci-dessus.
Je précise bien encore une fois : ce tutoriel ne va pas vous donner une méthode géniale qui marchera à tous les
coups, le but est justement de voir ce qui peut faire échouer ce genre de gros projet, et donc d'éviter les erreurs.
Note : je prends Campath comme exemple, mais ce dont je vais parler s'applique aussi si vous utilisez Terranim
(un autre logiciel pour faire des animations avec Terragen).
Toutefois, comme on dit, "qui peut le plus peut le moins", l'approche utilisée dans ce tutoriel peut vous servir,
même pour de "petites" animations.
Plan du tutoriel
Pré-requis
- Terragen, bien sûr !
- Le logiciel Campath,
La version 3.20 vous permettra de visualiser en 3D l'animation, ce qui est quasi-indispensable
quand on travaille ce genre d'animations.
Terranim n'est pas mal non plus et offre
de bonnes possibilités.
- Les éléments habituels nécessaires pour créer une animation (cf.
le premier tutoriel, rubrique Pré-requis)
- De la patience : pour m'être attaqué à ce style d'exercice, je peux vous assurer qu'il en faut.
- Ne pas avoir peur de faire beaucoup d'essais : il vaut mieux perdre une heure à faire des essais
que d'en perdre plusieurs centaines pour un calcul qui ne servira à rien...
- Bien garder à l'esprit que l'on travaille sur du plus complexe, du plus long en en plus grand
format.
- Une puissance de calcul correcte : plus vous avez de puissance de calcul, que ce soit par le nombre d'ordinateurs
ou par leur puissance, mieux ça sera. (et pareil pour la place sur le disque dur)
1) Problématiques
Ne tournons pas autour du pot, voici
les principaux problèmes générés par des animations :
- Plus longues :
- Le temps de calcul est allongé,
- L'animation est plus "lourde" à traiter (stockage, montage, etc.),
- plus les problèmes générés par la longueur de l'animation (la texture est-elle bonne sur tout le terrain ?
Le ciel conviendra-t-il pendant la durée de l'animation ? etc.)
- Plus complexes :
- Le temps de calcul peut être allongé également,
- Les "jointures" entre les différentes parties de l'animation peuvent être complexes à réaliser (morphing, etc.).
- En grand format :
- Le temps de calcul est augmenté également,
- l'animation est plus lourde à stocker et à traiter.
Dans les deux premiers tutoriels, je parlais de ne pas s'aventurer au-dessus du 400*300 pour une animation. Pour donner
un exemple, mes dernières animations sont en
720*400, je n'ai pas essayé d'aller plus haut en résolution. (on approche
de la résolution
DVD, il est à mon sens inutile de faire des rendus en 2000*1500 pour une animation, à moins que vous
ayez du temps à perdre...)
2) Limiter les "risques"
La principale peur, quand on fait ce genre d'animations, est qu'il faille tout jeter.
Bref, d'avoir lancé un calcul (en général un GROS calcul) pour rien.
Donc l'idée est de maîtriser
le plus de paramètres possibles.
Dans cette optique, voici les principaux paramètres à prendre en compte :
- La durée du calcul, bien sûr !
- Est-ce que le terrain ne pose pas de problèmes là où l'animation va passer ?
- Idem avec l'éclairage (trop fortes zones d'ombres), le ciel, la texture, etc.
- Est-ce que l'animation est fractionnable pour plus de simplicité ?
Bref, l'idée est de s'éviter au maximum les mauvaises surprises. Et là, la méthode est très basique : il faut
tout simplement faire des
captures d'écrans à divers "moments" de l'animation, comme il est aisé de fractionner un script
(cf
le premier tutoriel,
rubrique division d'un script), il serait stupide de se priver de cette "sécurité".
Plus vous ferez de captures à divers endroits, moins vous risquerez d'avoir de mauvaises surprises...
Gardons à l'esprit quand vous faites une image, si UNE image est ratée, ce n'est pas trop grave, par contre, quand il s'agit d'un MILLIER d'images
qu'il faut jeter, avec pour seule consolation d'avoir perdu un week-end de calcul pour rien, je peux vous assurer que
c'est VRAIMENT très énervant... (expérience vécue)
Sachez également que plus votre animation comporte de paramètres qui varient (trajectoire de visée, ciel en mouvement, rotation
du soleil, etc.), plus il y a de "risques" potentiels (rassurez-vous, ce n'est quand même pas mission impossible).
3) Erreurs à éviter
J'étais volontairement resté assez généraliste dans le paragraphe précédent, cette fois, rentrons dans le vif du sujet.
Un problème qui revient souvent et qui est particulièrement dévastateur : une belle bande noire dans le ciel à cause d'une
taille de ciel insuffisante... Des fois on peut rattraper en corrigeant image par image (c'est assez pénible), mais des fois, il y a
tellement d'images à corriger qu'il vaut mieux laisser tomber. N'hésitez pas à mettre des tailles de ciel
vraiment élevées, cela ne
rallonge pas spécialement le temps de calcul, Terragen ne calculera pas le ciel "invisible"...
Se
méfier des bords du terrain : il arrive quelquefois qu'on ait le syndrôme "fin du monde" (c'est-à-dire que l'on
est au bord du terrain) si l'animation passe trop près d'un bord de terrain un peu trop "plat". Les solutions sont simples :
- Ne pas passer trop près des bords du terrain
- Ou bricoler ("rehausser") les bords du terrain pour éviter ce problème.
Ce problème va souvent de pair avec celui de la taille de ciel insuffisante...
Si vous voulez faire des effets de morphing avec le plugin
SOPack, je vous conseille de faire l'effet dans un script
à part de votre animation, et il vaut mieux que ce script commence à l'image numéro 1, j'ai eu des bugs dans le cas
contraire... Bref,
isolez le bout du script qui fait le morphing, et indiquez-lui qu'il doit commencer avec le numéro
1. C'est très simple, précisez dans le bout de script isolé à la ligne :
initanim "D:\images\terragen\anims\tut\www", 452
Changez ce chiffre "452" en "1", ce qui nous donne :
initanim "D:\images\terragen\anims\tut\www", 1
Je suis d'accord : ce n'est pas logique, mais ça évite des problèmes, croyez-moi... (et comme ce n'est pas très
compliqué à mettre en oeuvre,
faites-le !)
Une autre erreur qui revient souvent, ne vous fiez pas (trop) à la vitesse affichée par Campath quand vous utilisez la vue 3D.
Sauf erreur, il me semble que la prévisualisation
3D de Campath tourne à 15 images/secondes,
donc si votre animation est prévue pour tourner à 25 images/seconde, la vitesse finale sera différente (plus rapide).
Pour vous en persuader, faites le calcul : une animation
de 1000 images durera 40 secondes à 25 images/secondes et 66.7 secondes à 15 images/secondes. Méfiez-vous en particulièrement si
votre animation comporte de grands changements de vitesse, vous pourriez avoir de mauvaises surprises...
Méfiez-vous des ciels très sombres avec effets de rayons, vous pouvez vous retrouvez avec un paysage très sombre ou
surexposé... A utiliser avec parcimonie dirons-nous ! (c'est très joli, mais à vos risques et périls)
Evitez de donner une trop grande vitesse au vent si votre animation est longue (plusieurs minutes), cela peut créer de gros
bugs dans le ciel, le genre de bugs qui n'est pas rattrapable facilement, si vous voyez ce que je veux dire...
Evitez aussi de donner des valeurs trop basses au zoom, c'est amusant, mais vous risquez de vite déchanter, car
cela crée des bugs avec Terragen. Le plus comique que j'ai eu m'a forcé à taper deux fois sur "Entrée" entre chaque rendu d'image
(le gros zoom de "jeux de caméra", une de mes animations sur mon site perso), et ce pour plus de 70 images !
Je ne sais pas si ce bug subsiste, mais dans le doute, abstenez-vous... (je descends rarement en-dessous de 0.8)
Une erreur stupide mais qui ne pardonne pas : vérifiez bien que
"Random cloud on each frame" ne soit pas coché
dans le module "Cloudscape" (ciel et nuages), sinon vous risquez d'avoir une drôle de surprise en voyant votre animation changer de ciel à chaque image...
Si votre animation est très près du sol, méfiez-vous, même si Campath vous indique qu'elle ne touche pas le sol, il arrive
des fois que "l'avion se crashe", bref, que la caméra touche le sol quand même. Ne frôlez pas un sol accidenté de trop près,
en général, je rajoute une unité terragen si la caméra est près du sol, ça m'évite de mauvaises surprises...
Un autre problème peut être gênant : il arrive que la texture puisse très légèrement se déplacer entre chaque image. C'est très léger,
mais parfois déplaisant (cela peut se voir dans mes premières animations), surtout si on utilise une texture complexe (cela se voit beaucoup
moins si vous avez une texture simple, ou très uniforme). On appelle ceci "texture popping" en anglais (littéralement, la texture "sautille",
ou le "saut de texture"). Ce n'est pas très grave si vous en êtes au stade de l'apprentissage dans le domaine des animations
avec Terragen, mais c'est particulièrement désagréable si vous essayez de faire
une animation bien réussie, ou si vous êtes un peu pointilleux (comme moi).
Pour contrer ce désagrément, il n'y a qu'une seule méthode, il faut aller dans les paramètres de rendu ("Render settings"), et cocher
"Extra Blended Detail", chose que vous ne pourrez faire... que si vous avez la version enregistrée de Terragen.
Il faut également noter que cocher cette option augmente sensiblement le temps de rendu, mais améliore nettement la qualité !
Un autre problème est également possible pour de volumineuses animations si, comme moi, vous travaillez en non-compressé. Si vous utilisez
FAT32 en guise de système de fichiers, vous risquez
d'avoir des problèmes si votre fichier dépasse les 4
Go, car c'est la taille limite pour un fichier
avec ce système de fichiers. Je suis d'accord : les fichiers supérieurs à cette taille sont assez rares, mais j'ai déjà rencontré
le problème avec des animations de plus de 4 minutes ! A titre d'exemple, "Mars Render" pèse pas moins de 7,2
Go en non-compressé !
La seule solution possible pour lever cette limite est d'utiliser
NTFS et
d'avoir un disque dur suffisamment spacieux...
4) Pour se simplifier la vie
Voici quelques points pour vous faciliter la tâche :
Pour éviter le problème de vitesse, il faut pouvoir faire un rendu "de contrôle" (bref, pas de détails). Campath vous offre
cette possibilité, via le menu "File", "Make Movie Sequence", il vous suffit d'indiquer la taille des images générées,
leur emplacement, et Campath va calculer une version "fil de fer" de l'animation, image par image. Ensuite vous n'aurez
qu'à utiliser un logiciel comme Bink pour assembler le tout à 25 images/seconde, et vous verrez la vitesse réelle de votre
animation.
C'est vraiment très utile, surtout si vous cherchez à faire une animation synchronisée avec une musique...
Une autre possibilité pour vous simplifier la vie est de
diviser vos scripts. Cela est souvent avantageux :
- C'est toujours plus simple de travailler sur 30 secondes d'animation que sur 1 minute.
- Cela peut permettre de calculer votre animation sur plusieurs ordinateurs, et donc de gagner du temps.
- C'est très simple à faire, un bête éditeur de type bloc-notes ou wordpad fait l'affaire.
- Cela peut permettre de limiter une erreur : avec un peu de chance, l'erreur faite ne concernera qu'un script et sera rattrapable.
A cet effet, n'hésitez d'ailleurs pas à faire des mini-storyboards pour bien planifier votre future animation.
A titre d'exemple, plusieurs de mes dernières animations (Mars, Fairground) usent et abusent de la division de script.
Une autre façon de se simplifier la vie est de faire de
nombreuses et fréquentes sauvegardes...
Terragen a tendance à monopoliser l'ordinateur : c'est un autre "problème" gênant. Les applications se mettent à
ramer, et l'ordinateur se retrouve vite inutilisable pendant un calcul, que ce soit pour une animation ou même une simple
image. Cela arrive même avec des ordinateurs puissants (j'ai un Athlon 64 3200 avec 1
Go de
RAM).
Comme il n'est pas toujours possible d'avoir un ordinateur uniquement dédié à cette tâche, on peut ruser en changeant la priorité d'un
processus, en l'occurrence celle de Terragen. Il suffit de faire la combinaison magique sous Windows (ctrl-alt-suppr), et d'aller dans
l'onglet "Processus". En supposant que vous ayiez déjà lancé Terragen, il vous suffit de cliquer-droit sur le processus "Terragen", d'aller
sur "définir la priorité", et la passer de "Normal" à "inférieure à la normale" ou "basse", comme indiqué ci-contre.
L'astuce est valable pour un calcul d'animation, comme pour un calcul d'une simple image (un rendu en 4000*3000 peut immobiliser un ordinateur
pendant plusieurs heures). Par contre, l'astuce montrée ci-dessus ne fonctionne qu'avec Windows XP ou 2000.
5) Encodage et quelques outils
Pour ce qui est de l'encodage, je n'ai pas mentionné un logiciel vraiment intéressant dans mes derniers tutoriels :
Virtual Dub. C'est
un
logiciel libre qui excelle quand il s'agit de compresser une animation dans le but de la mettre en ligne (il permet de
compresser
vidéo ET audio dans le même fichier, ce qui permet de gagner pas mal de place). A cet effet, voici quelques conseils :
Ouvrez votre vidéo (chez moi c'est une version non compressée qui pèse quelques gigaoctets), allez dans le menu "Audio", et
et cochez "Full Processing Mode". Faites en de même pour le menu "Vidéo". Ensuite retournez dans le menu "Audio", et choisissez
le menu compression, choisissez votre compression audio (en général, j'utilise le MP3), faites en de même dans le menu "Vidéo",
vous pourrez choisir votre compression vidéo (en général, le codec
Xvid
donne de très bons résultats).
Faites ensuite "Save as AVI" pour sauvegarder votre vidéo compressée. Virtal Dub va compresser votre vidéo, les résultats sont
très intéressant avec le couple MP3 et Xvid, j'arrive à obtenir une vidéo de 20
Mo à partir d'une vidéo non compressée de 2
Go ! (non
sans perte de qualité, bien sûr...)
Il va de soi qu'il y a d'autres options intéressantes dans ce logiciel, mais toutes les détailler n'est pas le but de ce tutoriel.
Mes tutoriels sont axés pour l'instant sur Campath, mais il se pourrait bien que la tendance soit inversée avec la dernière version
de
Terranim, elle permet un contrôle
très fin des paramètres d'une animation tout en restant très simple, et offre de nouvelles possibilités (comme contrôler le niveau
d'eau et le faire varier au cours d'une animation !). Bref, je n'aimais vraiment pas
les anciennes versions de Terranim, mais il faut avouer que cette version 2.0 est vraiment très prometteuse !
L'interface est d'ailleurs beaucoup plus claire, et l'ergonomie générale a bien été améliorée par rapport aux anciennes versions,
donc si le coeur vous en dit, n'hésitez pas à l'essayer, Terranim est de plus gratuit pour une utilisation non-commerciale...
J'ai d'ailleurs consacré
un tutoriel à Terranim !
Une autre possibilité intéressante quand on commence à faire des animations en grand format (720*400) est de
créer un DVD.
Si vous avez un graveur de
DVD et Nero 6 (par exemple), vous pouvez réaliser un petit
DVD avec les animations, c'est très
simple à créer, et c'est réellement sympathique de regarder (et de faire voir !) vos animations sur une télévision
équipée d'un lecteur de
DVD. Comme Nero fait "tout le sale boulot" (encodage et création des fichiers), vous auriez
tort de vous en priver !
A noter : vous pouvez également sortir vos animations sur Video-CD ou sur Super-Video-CD (la plupart des lecteurs de
DVD lisent ces formats), mais la qualité est moins intéressante que celle du
DVD, la résolution étant moindre. Toutefois, il
suffira d'avoir un graveur de CD, chose qui est extrêmement répandue (en tout cas plus que les graveurs de
DVD pour le moment).
Une autre possibilité intéressante est offerte par un logiciel créé par John McLusky :
Anthill.
Ce logiciel permet de donner un effet anti-crénelage très joli. Vous pourrez en trouver des exemples sur le site de
Karsten Keppel. En fait, Anthill va créer une image
à partir de plusieurs images de votre animation. (par exemple, image0001.bmp, image0002.bmp, image0003.bmp seront "combinées" pour
créer une seule image)
L'effet est très sympathique, néanmoins, si vous voulez l'utiliser, il faudra doubler voire tripler le temps de calcul de votre
animation. La raison en est simple, si votre animation comporte 3000 images et que vous utilisez un anti-crénelage de 3 images avec
Anthill, votre animation comportera 1000 images au final. Donc si vous voulez obtenir la même vitesse, il vous faudra calculer
3 * 3000 images, soit 9000 (!) images. C'est donc à réserver à ceux qui ont beaucoup de puissance de calcul à disposition.
Après, on peut pousser le délire en décidant de créer un petit film, mais croyez-moi, ce genre de projet est assez difficile, et
demande beaucoup de temps et de ressources. A titre d'exemple, mes dernières animations (qui sont de l'ordre de la minute trente)
prennent de l'ordre d'une semaine de calcul, sur 2
PC ! Quand ce n'est pas plus...
Donc si vous voulez vous lancer dans ce genre de projet, planifiez bien, et ayez le plus de puissance de calcul possible ! J'ai
déjà fait une petite évaluation, et les chiffres donnent le vertige : plusieurs mois de calcul, des centaines de
Go de stockage...
Une autre aide pour les calculs à rallonge (qui sont légion avec de grosses animations) peut venir du projet
GPU.
Ce projet permet de distribuer le calcul d'une animation avec Terragen via Internet. Ce n'est pas très compliqué à utiliser, allez donc faire
un petit tour sur le site de
ce projet GPU. A titre d'exemple, une de mes
animations, "LOTR", a été calculée de cette manière.
Conclusion
Voilà, je pense avoir dit à peu près l'essentiel sur ce "nouveau" genre d'animations, je compléterai ce tutoriel si besoin est.
Si vous voulez voir des mini-films, allez faire un tour sur
mon site personnel.
"Mars" en est un bon exemple parmi d'autres...
Pour pouvoir lire ce tutoriel hors ligne, voici une archive zip :
fichier (environ 48
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