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.

1 commentaire:

  1. Bonjour cher Freelance Saucisse,
    Je reprends votre blog depuis le départ (le meilleur moyen que j'ai trouvé pour apprendre à utiliser des expressions utiles sous AE) et là, je bloque sur un truc tout con : En avant-dernière phrase de cet articles, vous dites "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."
    Et je me suis demandé comment faire pour faire vibrer un wiggle entre deux valeurs limitées. De mon côté, je me suis débrouillé avec un "paramètre glissière" auquel j'ai ajouté un random(0,1), mais j'imagine que le rendu avec un wiggle serait plus élégant, plus souple. Apparemment, ça à l'air d'être simple mais il doit y avoir une notion ou une logique qui m'échappe. Merci d'avance.

    RépondreSupprimer