Aide pour After Effect, techniques, expressions.

mardi 22 janvier 2008

EXPRESSIONS : les vecteurs

Les vecteurs...

Bouh le vilain mot de mathématiques!
Oui, tout le monde s'en souvient, on a tous eu ça en cours. Nous allons ici en avoir une utilisation extremement simpliste.

Petit rappel, un vecteur, c'est comme une flèche: c'est une direction + une distance.
Exemple : 30 degrés, + 20 pixels. Voilà, c'est pas plus compliqué que ça.

Passons au concret. Crées 2 calques bleu de 50x50, et un troisième, rouge, plus petit. Placez les 2 bleus où voulez dans la compo, plutot en diagonal, et placez le rouge à coté de celui du bas.









Ouvrez la position des 3 solides, et créez une expression pour la position du petit.

a=thisComp.layer("Bleu roi uni 6").transform.position;
b=thisComp.layer("Bleu roi uni 7").transform.position,

Le grand classique, on crée une variable pour chaque position des deux autres solides.
Puis, on rajoute ceci:

V=sub(a,b);

Alors, qu'est ce que c'est... Cette fois ci, V ne sera pas égal à un chiffre, mais sera un vecteur. Il va donc stocker dans sa mémoire un angle, et une distance, en pixel.
Sans rentrer dans les détails, retenez ceci:

sub(A,B) crée un vecteur allant de B à A (et non de A à B).

Finissez l'expression en écrivant ceci:

b+V

On demande donc que le carré rouge ait la position de B, plus le vecteur V. Observez sa position, il est donc logiquement à la meme position que A. C'est logique, si on part de B et qu'on rajoute le chemin pour aller de B à A, on arrive sur A.

Remplacez b+V par position+V , et décalez le carré rouge sur le coté.

A présent, faites bouger le carré A ou B, le carré rouge bouge en meme temps, puisque le fait de bouger A ou B modifie le vecteur V, et donc modifie la position du carré rouge.

Rajoutez un paramètre glissiere au carré rouge, appelez le "coeff", et ecrivez cette expression :

a=thisComp.layer("a").transform.position;
b=thisComp.layer("b").transform.position,

C=effect("coeff")("Curseur");

V=sub(a,b);

b+V*C

Faites variez le paramètre glissière entre 0 et 1. Le carré rouge se déplace entre A et B. Et oui, on peut multiplier ou diviser le vecteur pour faire évoluer la distance, pratique. Une valeur négative fera partir le vecteur dans l'autre sens, une valeur supérieure à 1 fera aller le carré rouge au dela du segment AB.











Ici, j'ai animé la coeff avec un wiggle qui fait vibrer la valeur entre 0 et 1, et j'ai animé les deux carrés bleu.

Une fonction très utile, qui permet beaucoup de chose, nous en verrons un exemple dans le prochain post.

Aucun commentaire:

Enregistrer un commentaire