Aide pour After Effect, techniques, expressions.

mardi 6 janvier 2009

ombre moi ce shine

Et hop, comme promis, un exemple concret du calage d'un calque 2d sur une position 3d.
Et même 2 tiens, je suis en forme. Ouais c'est surtout parce que le 1er exemple est super simple.
Le calage d'un lens flare sur une lampe 3d.
Alors ouais, j'ai fait un truc super beau, j'ai fait ça:














On voit bien que le lens flare est accroché à la lumière.
La position du lens flare est une position 2d.
J'ai donc écrit ça dans la position du lens flare:

target=thisComp.layer("Lumière 1");
target.toComp([0,0])


Et voilà.
Une autre exemple un peu plus complexe.
Imaginons une scène avec une lampe, et des calques 3d. L'environnement est plein de poussière, les calques 3d laissent donc derrière eux une trainée d'ombre dans la poussière.
Une image vaut mieux que plein de mots, hop :














Derrière ce message universel et positif ce cache une plastique superbe, un gout certain...Bref, on s'en fout, on va voir comment faire ça.
La scène est simple à mettre en place:
Une lumière dans le fond, un texte 3d devant (soyez inspirés), une camera (une jolie).
Créez un calque 2d dans le fond, appelez le "fond" tiens, appliquez un dégradé circulaire. Mettez le centre du dégradé en gris clair, et l'autre en noir.
Pour la position du point blanc, c'est tout bête:

target=thisComp.layer('Lumière01");
target.toComp([0,0,0]);

Pour le point noir :

target=thisComp.layer('Lumière01");
target.toComp([0,0,0]) + value ;

Comme ça, le point noir bouge aussi, et vous pouvez le déplacer pour l'éloigner du point blanc à votre guise©.

On a donc simulé notre lumière du fond.
A présent, il faut que l'on simule la trainée de l'ombre, qui donnera l'impression qu'il y a de la poussière, ou un sachet de drogue bêtement gâché.
Pour cela, j'ai utilisé l'effet Shine de Trapcode. Il y a d'autre éditeur qui font un effet équivalent, je n'ai pas les noms en tête. Si vous n'avez rien de tout ça, vous pouvez utilisé CC radial blur avec l option straight zoom, mais le calcul est très long, et c'est moins bien.

Donc, pour la valeur de la position du centre de l'effet Shine :

target=thisComp.layer('Lumière01");
target.toComp([0,0,0]);

Comme pour tout le monde ya pas de raison.
Dans colorize, mettez None, ou bien sur 1 couleur avec du noir donc, régler la taille de la trainée, et vous pouvez rajouter un effet "niveau alpha" pour augmenter la densité de l'effet.

Et voilà !!

Certains auront remarqué que dans ma vidéo, il y a un lens flare accroché à la lumière, et que ce dernier diminue quand il va bientôt etre caché par les lettres, puis s'éteind, pour reprendre de plus belle quand la lumière réapparait. Comme dans la vraie vie.

Et bah ça, ça sera pour le prochain post.

lundi 5 janvier 2009

toComp from space

Derrière ce titre digne des plus grandes fresques spacio-capitalistes se cache ni plus ni moins qu'un banal post sur un blog douteux.
Mais ça va être chouette, donc tout va bien.

votre nouvelle envie du moment ? Faire qu'un calque 2d soit toujours à la même position qu'un calque 3d. Qu'est ce que ça veut dire ? Et bien imaginer qu'un petit solide 3d se balade dans votre scène, et qu'un autre petit calque 2d le colle "visuellement", un peu comme une mire sur un avion (brrr).
Il n'y a en effet aucun autre moyen de faire cela, étant donné que la camera peut également bouger, sans que l'objet 3d ne se déplace. Quand la camera bouge, la position du calque 3d, par rapport à la composition, change.
Et bien c'est tout pareil que tout à l heure, sauf que pour le
target=
on accroche un objet 3d.
C'est tout...
Attention, si vous mettez :
target3d.toComp([0,0]),
votre calque 2d sera collé en haut à gauche du calque 3d. Donc si vous voulez qu'il soit au milieu, il faudra mettre target3d.toComp([50,50]) si votre calque 3d fait 100 sur 100. C'est simple, si vous n'avez pas touché au point d'ancrage du calque 3d, il sera au milieu, et vous donnera donc les bonnes valeurs à mettre.
Si votre calque 2d doit être accroché un une lumière d'after, mettez [0,0].
J'illustrerai ce post avec des jolis GIF animés plus tard, pour faire gagner en magie cette page pleine de mot.
On verra un exemple concret par la suite, promis.

toComp

Suite des aventures de notre nouvel ami, le référentiel.
Nous avons vu comment transformer des coordonnées de la composition vers un calque.
Voyons maintenant l'inverse, c'est à dire comment transformer les coordonnées d'un calque vers la composition.
C'est assez simple, on va utiliser ceci:
toComp.
Voilà comment on procède :
Créez un calque.
Créez une autre calque, plus petit s'il vous plait.
Dans ce dernier, écrivez :
target=
et accrochez à l'autre calque. Pas à sa position ou autre, non non, au calque.
Vous aurez donc un tuc du genre :
target=thisComp.layer("solide 1");

Ensuite, ecrivez ceci:
target.toComp([0,0])
target est ici le référentiel demandé. [0,0] est la position que l'on souhaite ciblée, à partir du calque. Comme vous pouvez l'observer, le petit calque se place sur le coin supérieur gauche de l'autre calque, puisque [0,0] correspond au coin supérieur gauche du grand calque.
C'est bien l'exact inverse de fromComp.
On comprend ainsi qu'avec notre exemple des 4 ronds rouge qui controlent l'effet quatre coins du calque jaune vu précédemment, avec toComp, on peut avoir la meme interaction, mais à l'envers : l'effet quatre coins fera bouger chaque rond rouge.

Et voilà.

samedi 3 janvier 2009

pourquoi tant de haine?...

Mais...Finalement...Pourquoi se compliquer la vie avec toutes ces expressions ?
Elles sont parfois obligatoires, et parfois tellement pratiques que faire autrement paraitrait idiot.

Et parfois..On doute....Est ce que je me fais chichi à installer tout mon système d'expressions, et après je suis tranquille pour tous les futurs réglages, ou bien je joue le fainéant, et je fais tout avec des clefs, même si ça me prend beaucoup plus de temps, j'utilise moins mon cerveau, et ça me permet de suivre NRJ12 sur mon écran de gauche sans broncher.

Chacun fait ce qu'il veut, bien entendu, mais voilà une petite règle objective qui permet de trancher (et couper NRJ12 par la même occasion, merci):

-Lorsqu'il s'agit d'un automatisme du à une interaction, utilisez les expressions.
Par exemple, plus mon calque est loin de la camera, plus il est transparent (mais si mais si, vous savez le faire). Il s'agit d'une interaction, aucun intérêt de le faire avec des clefs.

-Plusieurs calques vont surement subir dans le futur une ou des modifications équivalentes. Utilisez les clefs si possible. Par exemple, on a une série de calques qui vont apparaitre à différents moments de la composition. Ils doivent tous apparaitre avec un fondu d'une même durée. Plutôt que créer deux clefs (0% - 100% par ex) de transparence, et de devoir rapprocher ou éloigner la 2eme clef de tous les calques en même temps pour changer le temps du fondu, préférez ceci :
Créez un Null avec un paramètre glissière, et mettez y vos deux clefs 0-100% comme vous le souhaiter.
Installez tous vos calques en escalier sur la timeline, pour qu'ils commencent là où leur fondu doit commencer.
Écrivez ceci dans leur opacité :
t=thisComp.layer("Null").effet("paramètre glissière")("curseur");
t.valueAtTime(time-inPoint)

inPoint est égal à la valeur du temps du début du calque, donc (time-inPoint) permet que le temps 0 commence au début du calque.

Ainsi, chaque calque aura son fondu qui commencera à son début, en prenant en compte la façon dont vous avez animé vos valeurs du Null, y compris dans la courbe d'accélération et de décélération. Impossible d'avoir la même courbe pour tous les calques si c'était fait à la main, à part avec un (honteux) copier coller sur 200 calques.

L'expérience vous permettra de réfléchir 2 sec avant de vous lancer dans une animation.
L'exemple ci dessus à l'air compliqué pour quelque chose d'aussi simple, mais c'est en fait simple, rapide et puissant.

c'est tout pour le moment.

vendredi 2 janvier 2009

les référentiels / bonne année

Faisons d'une pierre deux coups. Donc bonne année.*
Mon âme d'humaniste a parlé, passons aux choses sérieuses.

C'est quoi donc un référentiel ? Einstein l'explique assez bien dans sa théorie de la relativité général et restreinte, Galilée aussi avait pas été trop con sur ce coup là.
Pour AE, on va simplifier la donne;
un référentiel est une base, souvent spatiale dans AE, de laquelle découle d'autres valeurs.
On pourrait dire qu'il s'agit du point [0,0]. Et comme dans AE, chaque calque voit [0,0] à sa porte, il faut que tout ce petit monde puisse communiquer.
L'image suivante va poser la problématique:



















le point A a pour coordonnées [200,100].
le point B a pour coordonnées [400,225].
Jusque là, tout va bien.
SAUF que pour le calque rouge, bah le point A a pour coordonnées [0,0] et B [200,125].
Pour le point B, A est en [-200,-125].

Certains me diront "oui bah moi je m'en fous, j'ai jamais eu ce genre de probleme, donc pourquoi se poser ce genre de question?"
Et bien car il y a quelques cas où vous allez vous dire "crotte, ça marche pas le truc que je veux faire" (je m'adapte à votre langage)
Prenons un exemple simplissime:
Créez un solide plus petit que la composition (ça arrive à tout le monde), et appliquez lui l'effet
"quatre coins" dans "déformation" des effets. (corner pin en anglais)
C'est un effet tres connu et tres utile, qui permet de déformer une image en déplaçant chaque coin.
Et bien vous aller vous rentre compte que les coordonnées de chaque point a pour référentiel non pas la composition, mais le calque. Et c'est bien logique. Sinon, dès que l'on déplacerait le calque, les valeurs changeraient.
Ainsi, le point en haut à gauche est à [0,0], etc.
Et c'est là que se pose le premier probleme. Imaginons que l'on veuille créer ceci :









On veut que le rectangle jaune se déforme en suivant chaque rond rouge. Mais voilà le souci, avec le modificateur quatre coin, on a un point en haut à gauche en [0,0], alors que le rond rouge correspondant doit avoir des coordonnées d'environ [100,100].
Si vous accrochez la valeur de position du rond rouge au coin supérieur, vous n'aurez pas du tout ce que vous voulez.
C'est là qu'intervient une suite de nouveaux mots:

fromComp( [x,y] ) : transforme [x,y] pour qu'il concorde avec le référentiel du calque dans lequel on écrit ça.

Ceci nous donne la solution au probleme que l'on vient de voir.
Voilà ce que l'on doit écrire en français:
"pour le coin supérieur gauche, transforme la position du rond rouge en changeant de référentiel. Pour nouveau référentiel, prend le coin supérieur gauche du calque en tant que [0,0]

imaginons que le rond rouge s'appelle "HG" (haut gauche)
voilà ce qu'on écrit pour la position du coin supérieur gauche de l'effet quatre coin:

fromComp ( thisComp.layer("HG").position)

et faire pareil avec chaque coin.
Et voilà !
Vous savez changer de référentiel. Cela peut s'appliquer dans de nombreux cas. La plupart des effets qui demande une position (effet de dégradé par exemple) utilise le système de coordonnées interne au calque, pas celui de la composition.
Meme principe, avec l'effet "dégradé 4 couleurs"














Le seul cas où on a pas besoin de tout ça, c'est lorsque le calque fait la même taille que la composition, et est centré. Là, évidemment, les deux référentiels sont confondus, donc ça va.

Dans le prochain post, on verra comment faire pour qu'un calque 2d récupère la position d'un calque 3d, tout en restant en 2d.
Ouais ouais c'est possible, et c'est encore une histoire de référentiel.

*phrase non contractuelle.

mardi 30 décembre 2008

chacun son référentiel

Avant de voir la trigonométrie, on va voir quelque chose d'autre avant, rapidement, le changement de référentiel. Ça à l'air horrible comme ça comme phrase, mais en fait, c'est bien, et dans certains cas, on ne peut pas faire sans.
Et quand on peut pas faire ça, bah faut faire avec.
Ça sera pour la fin de semaine, l'année prochaine donc (ça s'est pour pour préparer aux gens qui vont vous dire "hey à l'année prochaine !" demain soir...

mercredi 10 décembre 2008

bientot dans vos salles

Je reviens bientot pour expliquer comment la trigonométrie c'est trop bien.

Et si vous êtes sages, quand vous aurez bien tout appris votre trigo de la classe de 4eme (et un peu aussi de la 2nd je crois...), on verra ensemble comment remédier à un petit manque dans after effect, la gestion de la cinématique inverse ! (je bouge la main, le bras et l'avant bras suivent)

Mais avant, va falloir piger un certain nombre de choses...