Aide pour After Effect, techniques, expressions.

vendredi 28 décembre 2007

EXPRESSIONS : wiggle

wiggle, la fonction pratique, la fonction magique.
Pourquoi ? Parce qu'elle peut s'utiliser seule pour un effet immédiat. wiggle en français, c'est tremblement.
il y a bel et bien un menu "tremblement" dans AE. A quoi sert-il ? tout simplement à rajouter un tremblement à une valeur; selectionnez les clefs d'une propriété, et vous pourrez ajouter un tremblement à la valeur, en choisissant une amplitude ( si vous mettez 10 en amplitude, une valeur initiale de 20 oscillera entre 10 et 30) et la fréquence. AE rajoute donc les clefs necessaires au tremblemement. Voilà pour le menu tremblemenent. Je ne continue pas l'explication, car nous allons voir l'expression qui exécute la meme chose, mais en mieux.

Créez un solide, ouvrez sa position, alt clic sur le chrono, effacez la ligne, et écrivez ceci:
wiggle (2,25 )
lancez l'animation, le calque tremble doucement. Explication:

Tout comme le menu tremblement, wiggle nous demande (principalement) 2 paramètres: la fréquence, et l'amplitude.
Plus la fréquence est faible, plus le mouvement sera lent. Des fréquences comme 0.2 ou 0.5 permettent des mouvements extremement lents, ce qui évite qu'on y fasse trop attention.
L'amplitude correspond, tout comme dans le menu tremblement, à l'écart créé par wiggle par rapport à la valeur initiale créée par la clef.

Alors quelle différence avec le menu tremblement ? Et bien avec le menu tremblement, une fois que le tremblement est créé, impossible de revenir en arrière pour régler le tremblement, ou bien modifier la courbe si cela concernait une trajectoire. C'est là tout l'avantage de l'expression wiggle; vous gardez un control total de votre objet avec les clefs, et vous controlez votre tremblement séparément, en pouvant modifier à loisir l'aspect du tremblement. L'utilisation du menu tremblement devient donc quasiement obsolète.

Rentrons un peu dans le vif du sujet, et reprenons notre ligne:
wiggle(2,25)

notre objet se déplace donc doucement (fréquence 2), avec une amplitude de 25. il va donc se déplacer sur x et y de -12.5 à +12.5 par rapport à sa position initiale.
Certains doivent peut être se demander ceci:
Puisqu'apparemment les expressions sont prioritaires sur les clefs, pourquoi est ce que mon objet ne se place t il pas à al position [0,0] et tremble entre -12.5 et +12.5 ?
C'est vrai, cela suivrait la logique des expressions. Sauf que AE est malin et a prévu le coup. Tout l intéret du wiggle, c'est de faire trembler une valeur déjà existante. wiggle n'aurait aucun interet s'il faisait trembler un objet qu'on ne pourrait pas animer avec des clefs.

On peut donc dire que wiggle est une fonction qui modifie les clefs sans y toucher.

Et comme d'habitude, on peut l'appliquer à n'importe quoi: rotation, opacité, valeur de flou, échelle, paramètre de filtre... très pratique pour faire vibrer quelque chose, ou bien lui donner un coté vivant, chaotique...Infaisable avec les clefs.

Et s'il on veut faire varier la fréquence et l'amplitude dans le temps me direz vous ?
Oui oui c'est faisable, voilà comment:

Ca n'est d'ailleurs absolument pas lié au wiggle, mais à l'ensemble des expressions.

Selectionnez votre calque, allez dans effet, option pour expression, paramètre glissière. Retournez dans la timeline, et ouvrer l effet. Vous avez un seul curseur, qui s'appelle d'ailleurs "curseur". Dans la fenêtre effet, cliquez sur le mot "Paramètre glissière", appyez sur ENTREE, et changez le nom pour "frequence". Il est bon de nommer ce genre d'effet, car nous en aurons parfois 4,5 et 6, donc il est bon de savoir qui gère quoi.

Réouvrez votre expression de position, et tapez ceci:
F=
puis prenez votre corde, et attachez la à "curseur". vous aurez donc ceci:
F=effect("fréquence")("Curseur")
Rajouter le ; allez à la ligne, et écrivez:
wiggle (F,25)

On a donc l'expression suivante:
F=effect("fréquence")("Curseur");
wiggle (F,25)

Comme vous vous en doutez, cela permet de faire varier la fréquence en rajoutant des clefs à la valeur curseur.
Ici, on entre aperçoit à nouveau la force des expressions:
Un objet peut réagir tout seul à un évènement sans qu'on lui dise.
Par exemple: plus cette objet est proche de toi, plus tu trembles (nous verrons comment faire ça plus tard, c'est tres simple).

wiggle est un exemple extremement simple qui montre la puissance des expressions: en 30 secondes, vous creez un petit module qui vous permet de faire vibrer n'importe quelle valeur dans le temps, et meme de modifier le type de vibration.

Il va de soit que l'on aurait pu rajouter un nouvel effet "paramètre glissière" à notre calque, l'appeler "amplitude", et avoir donc l'expression suivante:

F=effect("fréquence")("Curseur");
A=
effect("amplitude")("Curseur");
wiggle(F, A)

On se retrouve donc avec un control de la fréquence ET de l'amplitude.
Que demande le peuple?

4 commentaires:

  1. Bonjour,

    Je suis un utilisateur d'AE avec de solides bases mais je rencontre un petit souci actuellement. J'utilise le wiggle très régulièrement sans problème mais aujourd'hui, je me suis rendu compte que pour des valeurs dîtes "aléatoires" AE ne possédait qu'une seule forme de courbe que l'on contracte en réduisant la fréquence et que l'on étire en augmentant l'amplitude (et vice-versa bien sur)j'aimerais donc savoir si je ne peux pas faire générer à AE une autre courbe ou bien intervenir directement sur celle-ci.
    Le problème est assez gênant puisque pour les valeurs que je souhaite à un moment précis mes valeurs de rotations sont très proches du coup à l'affichage, mon objet en rotation parait figé (assez gênant à l'oeil quand il vient de faire un mouvement pendulaire de 14° d'amplitude).

    Merci de votre réponse
    Julien

    RépondreSupprimer
  2. Je ne suis pas sur de bien comprendre le soucis que vous rencontrez. Sur une rotation, il est normal qu'à un moment donné, l'objet paraisse plus ou moins immobile à chaque moment où la rotation part dans l'autre sens, cela s'appelle l'équilibre instable, tout comme lors d'une oscillation d'ailleurs.
    Il y a un autre paramètre pour le wiggle dont je n'ai pas parlé car il n'est pas primordiale. Vous pouvez écrire ceci : wiggle(freq,amp,octave)
    Quand on n'écrit pas la valeur de l'octave, celui-ci vaut 1. Mettez 10, et vous rajouterez une bruit à très haute fréquence dans la courbe, complexifiant cette dernière sans modifier sa topologie générale. Cela rajoutera des frémissements très rapides dans votre bruit déjà existant.

    RépondreSupprimer
  3. J'ai trouvé la solution à mon problème ;

    En réalité AE pour l'expression wiggle n'émet qu'une seule allure de courbe, dont on change la période en augmentant la fréquence et ses bornes max/min en augmentant l'amplitude.

    La solution que j'ai trouvé :

    seedRandom (valeur à votre convenance);
    wiggle(fréq, amp, éventuellement octave, puis harmonique)

    La "seedRandom" fait en quelques sortes générer à AE une toute autre allure de courbe. Idéale quand vous avez 2 objets avec la même expression wiggle pour varier les mouvements.

    Pour plus d'infos, c'est ici que j'ai trouvé la réponse :
    http://www.zeroabsolu.info/tutoriels/aftereffects/after-effects-la-fonction-wiggle-en-details.html

    Le formateur est absolument soporifique mais clair et balaye entièrement tous les fonctionnalités de wiggle.

    RépondreSupprimer
  4. Ha ok, je n'avais pas du tout saisi le probleme... En même temps, chaque courbe de wiggle est différente, donc si vous mettez wiggle(5,5) à la rotation de 2 calques, vous n'aurez pas la même courbe pour chacun.
    Le seedRandom change en effet la courbe, mais est inutile si c'est pour différencier chaque wiggle.
    Du coup, je ne vois pas du tout en quoi cette ligne vous aide...

    RépondreSupprimer