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 :
- Une trajectoire où se situe la caméra (d'où elle "regarde").
- Une trajectoire de visée (où la caméra "regarde".)
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
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 de mouvements de caméra.
- Les éléments habituels nécessaires pour créer une animation (cf.
le premier tutoriel, rubrique Pré-requis)
- De la patience : pour obtenir exactement ce que l'on veut, il faut dans certains cas faire
un nombre incalculable d'essais, et je peux vous assurer que c'est quelquefois une prise de tête !
Rassurez-vous, on s'en sort toujours ! (du moins presque toujours...)
- Ne pas avoir peur de faire des essais : je sais que je me répète, mais c'est vraiment important !
Il faut donc multiplier les sauvegardes en conséquence.
- Bien garder à l'esprit que l'on joue maintenant sur une variable de plus (la visée), cela complique
les choses !
1) Généralités
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 :
- la première est de créer d'abord la trajectoire de base de la caméra, de bien vérifier qu'elle ne passe
pas en-dessous du terrain (donc après l'étape 4 du premier tutoriel), d'ajouter ensuite la trajectoire de visée, et
ensuite de régler la hauteur des points de la trajectoire, si besoin est.
C'est à mon avis plus simple quand on débute, comme ça on gère une chose à la fois, ça évite de s'emmêler les
pinceaux.
-
La deuxième est de poser les deux trajectoires d'un coup, et de voir après si la caméra passe sous le terrain.
C'est plutôt ce que l'on fait quand on a l'habitude. Cette méthode est un peu "brute", mais elle est autant
valide que la première.
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
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 |
|
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 |
|
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 ! :)
3) Erreurs à éviter
Ce ne sont pas à proprement parler des erreurs, mais certaines situations peuvent poser des problèmes, voici les
principales :
- Sauf dans le cas où c'est l'effet recherché, méfiez-vous quand la caméra et son point de visée sont très proches
durant une animation, cela peut créer parfois des mouvements assez violents, genre des demi-tours très brusques !
- Conséquence résultant directement de ce que j'ai expliqué ci-dessus avec les deux images, réfléchissez bien
avant de dire "je vais enlever ce point, cela va accélérer l'animation à cet endroit". En effet, que ce soit pour la trajectoire
de base ou celle de visée, cela peut changer toute l'animation ! Il faut donc bien réfléchir avant de foncer tête
baissée... et surtout SAUVEGARDER ! Plus que jamais !
- Sauvegarder à chaque modification. Je me répète ? Non, pas exactement. Il arrive qu'en fin de prévisualisation
en vue 3D Campath vous envoie un message d'erreur ("propriété incorrecte" ou quelque chose dans le genre), et
Campath se ferme automatiquement !
Cela arrive particulièrement quand on vient de faire la bonne modification après
une dizaine d'essais infructueux, si vous voyez ce que je veux dire...
- Un problème qui revient souvent : une belle bande noire dans le ciel à cause d'une taille
de ciel insuffisante... N'ayez vraiment pas peur de donner une taille correcte !
- Je l'ai déjà évoqué dans le premier tutoriel, et c'est encore plus vrai dans ce tutoriel, évitez d'utiliser
"Auto-banking", c'est pas très compliqué de gérer le "Banking" (inclinaison) soi-même, et il y a 99 chances sur
100 que le résultat soit meilleur qu'en automatique !
- Gaffe involontaire : ne décochez JAMAIS "Use a look at path", vous perdriez toutes vos coordonnées !
Sauf si vous faites des sauvegardes très régulières... :p
- A moins qu'il existe une technique qui m'échappe, je ne suis jamais arrivé à faire un looping de manière directe,
même en utilisant une trajectoire de visée. Pas une vrille, qui est simple à obtenir avec 360 en banking, je parle
bien d'un looping. J'ai bien essayé de faire des essais en utilisant deux scripts, mais la caméra n'apprécie pas trop
ce genre de mouvement... Une idée à creuser ? En tout cas, contactez-moi si vous arriver à en obtenir un de
façon simple (j'entends de manière directe en un script).
- Evitez de donner des valeurs très basses au zoom, en effet, cela donne un effet qui, passez-moi l'expression,
"déchire" quand on le voit à la prévisualisation 3D sous Campath (sans problème d'ailleurs), 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 !
Vous comprendrez aisément comme cela peut être désagréable...
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 !
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