Aide pour After Effect, techniques, expressions.

dimanche 22 mars 2009

plein et délier

Comme je suis généreux, on va voir encore un petit truc... Franchement vous allez voir, c'est vraiment pas mal.
Certains d'entre vous connaisse peut etre l'effet "tracé dynamique" ("write on" en anglais je crois)
On anime un point dans sa position, et ça dessine un trait. On peut évidemment attacher ce point à un objet pour que ce dernier laisse un tracé, etc, ça sert à plein de choses.

Mais ici, on va faire un truc chouette, on va gérer les pleins et les déliers. Telle une plume, selon la direction du dessin, l'épaisseur sera différente. On évite ainsi le feutre rond qui ne change jamais de taille.













Voilà ce que nous allons faire :
Il faut que le diamètre varie selon la direction du tracé.
Donc tout le problème est là, trouver l'angle qui définit la direction du tracé.

C'est parti,
Créez un solide plein pot dans la compo, et ajouter l'effet "tracé dynamique".
Comme nous allons faire varier le diamètre DANS LE TEMPS, dans "tracé dans le temps", choisissez "épaisseur"

Rajoutez 3 paramètres glissières "angle", "min" et "max"
angle va représenter l'angle de la plume. Rentrez par 40 degré.
Dans min, mettez 3, et 20 pour max.

Nous allons maintenant créer une expression dans "épaisseur" dans l'effet "tracé dynamique".

taillemax=effect("max")("Curseur");
taillemin=effect("min")("Curseur");
angleplume=effect("angle")("Curseur");

J'explique meme pas, ça serait une insulte pour vous.
On passe au coeur du problème, la direction du tracé.
Voilà comment on va faire :
Nous allons récupérer 2 positions :
-Celle à l'image N
-celle à l'image N-1
En créant un vecteur qui va d'un point à l'autre, on a bien la direction !
C'est parti.

pos=effect("Tracé dynamique")("Position");
d=thisComp.frameDuration;
posd=pos.valueAtTime(time-d);

Alors...
pos, c'est la position du point à l'image courante.
On crée d, qui correspond à la valeur temporelle d'une image. Par exemple, si vous ètes à 25i/s, d=1/25
Enuite, posd correspond à la position, mais une image avant (time-d).

vecteur=sub(pos,posd);
Hop, ça c'est le vecteur.

vari=radiansToDegrees(Math.atan2(vecteur[1],vecteur[0]));

Exactement ce qu'on a vu dans le post précédent, on trouve l'angle en décomposant le vecteur.
Ici, vous remarquez une nuance, au lieu d'avoir Math.atan (coté opp/coté adj), j'ai Math.atan2(coté opp, coté adj), on peut faire les deux.
Voilà, on a récupéré la direction
du tracé !

taille=Math.sin(degreesToRadians(vari + angleplume));

Et là, on chope le sinus de l'angle. on part de l'angle de la plume ecrit dans le paramètre glissère (40 là)+la variation dans le temp de la direction. On ainsi taille qui varie de -1 à 1.
On va utiliser sa valeur absolue pour que ça varie de 0 à 1.
Dernière ligne :

Math.abs(taille)*taillemax + taillemin

C'est ici qu'on a la valeur de l'épaisseur. On multiplie donc la valeur absolue de taille (qui varie entre 0 et 1) à taillemax, le tout additionné à taillemin, qui est l'épaisseur minimum.
Ainsi, selon l'angle, taillemax se rajoutera à taillemin, addition de 0 à 20 ici.

Et voilà !!!

vous pouvez également animer les valeurs taillemin et taillemax dans le temps, ça marche.
Vous pouvez rajouter un wiggle à la position ou à l'épaisseur, etc.
Il y a différentes façon de créer une trajectoire.
Avec des clefs, en s'accrochant à un objet sur lequel on a effectué un dessin de trajectoire, en collant un masque dans la position qui se transforme en position, etc.

Merci la trigo.

2 commentaires:

  1. J'ai toujours regreté de pas voir ce genre de plume dans after.
    Comme d'hab, j'ai cherché pendant des plombes.
    Mais grâce a la saucisse tout s'éclaire.

    A noté aussi que des variantes sur l'opacité ajoute un petit charme au tracé.

    RépondreSupprimer
  2. variante: avec la saucisse, c'est du tout cuit (notez la cohérence dans le champs lexical).
    Tout à fait, moulte possibilités, on peut aussi par exemple utiliser le tracé comme masque (ou comme matte si vous préférez), ce dernier faisant apparaitre un aplat d'encre scanné, ou autre matière type aquarelle...

    RépondreSupprimer