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

Deprecated: substr_count(): Passing null to parameter #1 ($haystack) of type string is deprecated in /home/clients/97cf10fa399c6faa42e2c9c80e9afbe5/web/tutoriel2/index.php on line 2
Tutoriel sur les animations avec Terragen deuxième partie : mouvements de caméra complexes avec Campath, par Hoffmann Nicolas

Tutoriel sur les animations avec Terragen
Par Hoffmann Nicolas
Deuxième partie : Mouvements de caméra complexes
Egalement disponible en anglais English
Première partie disponible ici
3ème partie disponible ici

Introduction

Avant toute chose, si vous débutez complètement avec Campath, 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.
Je ne vais pas développer à nouveau comment utiliser Campath, tout au plus je mettrai un lien vers la rubrique du précédent tutoriel.
Si vous suivez le premier tutoriel, vous vous apercevrez que la caméra ne peut aller qu'en marche avant. C'est sympathique, on peut faire plein d'animations toutes plus réussies les unes que les autres, mais on ne peut pas faire de marche arrière (par exemple), c'est parfois très limitant.
Quand je parle de "mouvements de caméra complexes", je veux simplement dire que l'on va voir comment utiliser une option de Campath ("use a look at path", littéralement "utiliser une trajectoire de visée"). Cela veut simplement dire qu'on aura deux trajectoires : A partir de cela, beaucoup de mouvements deviennent possibles : marche arrière, déplacements latéraux, rotation autour d'un point, etc...

Toutefois, je veux attirer votre attention sur un point essentiel : ce genre de mouvements est TRES loin d'être une science exacte, vous ne trouverez pas dans ce tutoriel une technique géniale qui va vous faire réussir vos animations à chaque coup. RIEN ne peut remplacer l'expérience des essais, n'ayez surtout pas peur d'en faire beaucoup, c'est principalement de cette façon-là que j'ai appris (j'ai plus d'une trentaine d'animations à mon actif, et sûrement plus du double en essais sous Campath).

Plan du tutoriel

Revenir en haut de page

Pré-requis

Revenir en haut de page

1) Généralités

Ecran de contrôle de Campath
Partons du commencement : pour ajouter une trajectoire de visée pour la caméra, il faut cocher "Use a look at path" (logique !), ensuite la création de cette trajectoire (ajout/modification/suppression de points) se fait de la même façon que pour le premier tutoriel.

Dans "Points to View & Modify", il faut désormais bien vérifier ce sur quoi on travaille avant de crier que ça déconne ! ("Camera path" ou "Look at path")

Note : il faut toujours vérifier si l'on ajoute ("Adds a news path point") ou si l'on modifie (Change Point Location) un point, particulièrement quand on travaille sur la visée de la caméra. Cela évite bien des erreurs, surtout quand on débute... (expérience vécue)

La question que l'on peut se poser est la suivante : quand placer l'étape d'ajout de la trajectoire de visée ? (par rapport à la trame du premier tutoriel)
Il y a deux écoles : Note : il faut bien garder à l'esprit que seulement la trajectoire de la caméra doit obligatoirement être "au-dessus" du terrain. En effet, on se moque presque de savoir que la trajectoire de visée passe sous le terrain, du moment que le mouvement est celui recherché.

2) Exemple

Vision des deux trajectoires
Comme vous pouvez (à peu près) le voir, la trajectoire de base est en bleu, et la trajectoire de visée est en orange, car "Camera path" est coché, c'est-à-dire que je travaille sur la trajectoire de la caméra. La trajectoire de visée est en orange.
Si j'avais coché "Look at path", ce serait la trajectoire de visée qui serait en bleu, et celle de la caméra aurait été en orange.

Dans cet exemple, j'ai décidé de démarrer en marche arrière, de faire quelques demi-tours par ci par là, bref, une petite balade gentille qui ne rend pas trop malade !

Note : j'ai quelque peu procédé "au feeling", j'ai posé les deux trajectoires et fait des essais pour voir si cela donnait quelque chose d'intéressant, après diverses modifications, j'ai obtenu ce que vous pourrez voir si vous jetez un oeil au produit fini :) ... La méthode est très expérimentale, on tâtonne, on voit si le résultat convient, on fait des modifications, on revisualise, etc...

Note importante : il n'est pas possible de paramétrer la vitesse de la trajectoire de visée.
Vous pourrez voir qu'avec "look at path" coché, si vous cliquez dans "Control Points" sur un point quelconque, les propriétés "Banking" (inclinaison), "Speed" (vitesse) et "Zoom" sont grisées et donc inaccessibles.
Cela se comprend aisément pour "Banking" et "Zoom" (on ne peut pas jouer sur l'inclinaison ou le zoom d'un point de visée !), mais c'est plus délicat pour "Speed".

Comment peut-on faire alors pour jouer sur la vitesse de la trajectoire de visée ? (par exemple pour faire des demi-tours au milieu d'une animation qui va en marche avant)
En fait, on peut quand même ruser via la disposition des points. Je m'explique à l'aide de deux images :
(j'ai fait un petit montage afin que l'on voie bien les points de deux trajectoires dans chaque image, chose que vous ne verrez jamais sous Campath :p)
Explication Image Explication 2
Explication Image Explication 2
La flèche de gauche indique la trajectoire de visée Schéma sans demi-tour La flèche de droite indique la trajectoire de base
La trajectoire de base n'est pas modifiée, seule la trajectoire de visée voit son deuxième point changer d'emplacement.
Explication Image Explication 2
Explication Image Explication 2
La flèche de gauche indique la trajectoire de visée Schéma avec demi-tour La flèche de droite indique la trajectoire de base
(accrochez-vous, l'explication est un peu tordue)
Comme vous pourrez le constater si vous passez votre souris au-dessus des deux images, la première version ne provoque pas de demi-tour (marche avant), alors que la deuxième version en crée deux (on part en marche avant, on fait un demi-tour, un peu de marche arrière et on revient lentement pour finir en marche avant).

En fait, le temps de déplacement entre deux points donnés est le même pour la trajectoire de visée et celle de base (par exemple, s'il faut 2 secondes pour arriver au 2ème point de la trajectoire de base, il faudra 2 secondes pour que la trajectoire de visée en soit au 2ème point). Vous me suivez ?
Vous noterez que dans la deuxième version, j'ai mis les deux premiers points de la trajectoire de visée très proches l'un de l'autre ("entre les deux premiers points de la trajectoire de base", pourrais-je dire).
Donc dans la deuxième version, le déplacement de la trajectoire de visée entre les deux premiers points va être plus "lent" que celui de la trajectoire de base.

Le meilleur moyen de vous en persuader est d'essayer simplement cet exemple, et de le visualiser en vue 2D.
Cela paraît très compliqué, mais c'est très simple à comprendre en essayant...
Voilà, si vous avez compris ce "concept", vous pouvez vous dire que vous avez compris l'essentiel ! :)
Revenir en haut de page

3) Erreurs à éviter

Ce ne sont pas à proprement parler des erreurs, mais certaines situations peuvent poser des problèmes, voici les principales :
Revenir en haut de page

4) Quelques techniques et conseils à explorer

Le premier conseil que je peux vous donner est de ne pas sous-estimer l'utilité de la vue 2D.
En effet, quand on n'utilise pas une trajectoire de visée (le cas du premier tutoriel), son intérêt est très limité par rapport à la vue 3D.
Mais je peux vous certifier que cela devient vite indispensable en cas de mouvement complexe de caméra, cela permet de comprendre très rapidement pourquoi un mouvement pose problème (notamment à cause du problème de vitesse de déplacement entre deux points évoqué plus haut), et plus généralement, comment fonctionne le mouvement que l'on vient de créer. De manière générale, je pense que rien ne peut remplacer de nombreux essais sous Campath. C'est ainsi que j'ai appris, et je ne vois pas de meilleure solution. L'avantage de ces deux tutoriels est principalement de ne pas se perdre quand on débute.
A cet effet, je vous conseille de faire des animations toutes simples, cela permet de progresser très vite.
Il y a plusieurs essais qui sont à faire au moins une fois quand on débute, le plus basique est celui d'une animation avec un unique point en trajectoire de visée, ce qui nous donne une rotation autour d'un point. En général, on choisit un plan d'eau, cela donne de jolies animations, Terragen étant très fort pour générer des plans d'eau réalistes.
L'animation "défouloir", où on se croit dans le dernier manège à sensations fortes, est très amusante à créer, mais n'est d'aucun intérêt pour débuter.
Une autre option intéressante est de sonoriser ses animations. Je pense que le relatif succès de mes animations est fortement dû au fait que je suis très attentif à choisir la musique qui va avec une animation (merci à M. Christophe Martin de Montagu, mon ancien prof de son de l'IUT ! Et très grand professionnel s'il en est), bien que je sois loin d'être un pro en musique. Je dirais presque que je ne choisis pas les musiques qui vont sonoriser mes animations, elles se choisissent d'elles-même.
Montrez vos créations sans son à quelqu'un, et montrez-les ensuite avec le son, vous verrez que l'avis est plus positif en général !
Le principal problème est lié à la taille de la vidéo finale, surtout si on veut la mettre en ligne. Je peine à descendre en-dessous des 10 Mo en gardant une qualité raisonnable.
Quoi qu'en disent ses détracteurs, le codec divx donne une qualité correcte pour une taille non moins correcte.
La division d'un script évoquée dans le premier tutoriel peut permettre plein de choses autres que le calcul fractionné.
Par exemple, ma dernière animation ("Fairground") est constituée de pas moins de 5 scripts différents, là où c'est amusant, c'est que personne ne s'est aperçu de plusieurs supercheries de création... :)
A tout hasard, quelques idées : un changement du niveau d'eau, un morphing en cours d'animation, etc...
Il y a sûrement beaucoup de potentiel dans cette option !
Une autre piste à explorer est celle du morphing. Non, je ne suis pas fou, il est possible de créer un morphing de terrain pendant une animation, allez voir ma dernière animation ("Fairground") sur mon site perso pour en être convaincu.
Cet effet est disponible via le plugin SOPack, et s'appelle très logiquement "Terrain morph". C'est très simple d'utilisation, il suffit de suivre les instructions pour obtenir l'effet. Toutefois, j'ai eu pas mal de problèmes pour générer l'effet à cause de nombreux bugs inexpliqués... donc à tester avec prudence !
Revenir en haut de page

Conclusion

Ce type d'animations apparemment simple est et reste complexe, du fait des contraintes qu'il génère.
Je n'ai toujours pas trouvé de méthodes plus efficaces que celles que j'ai décrites dans ces deux tutoriels, à part l'intuition, qui n'est pas une méthode !
Je pense avoir dit le peu que je savais sur ce type d'animation. Il reste sûrement beaucoup d'effets et de techniques à explorer, ces deux tutoriels ne donnant que les bases pour les créer.

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 (625 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

Valid XHTML 1.1!  Valid CSS!