module inscription newsletter haut de page forum mobile

Dismiss Notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
Dismiss Notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Dismiss Notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

Expression pour faire clignoter

Discussion in 'Adobe After Effects' started by alexfrance, Apr 9, 2009.

  1. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
  2. felfer

    Trophy Points:
    1,650
    Likes Received:
    4
    Messages:
    618
    Appréciations:
    +0 / 1 / -0
    C'est nouveau, ça vient de sortir?
    Ca mériterai un p'tit thread pour annoncer ça, non?
     
  3. matttrebor

    Trophy Points:
    1,200
    Likes Received:
    2
    Messages:
    235
    Appréciations:
    +0 / 0 / -0
    Incroyable, comment as-tu réussi à faire ce bouton "réessayer" dans after ?
     
  4. mikerinos

    Trophy Points:
    1,200
    Likes Received:
    3
    Messages:
    596
    Appréciations:
    +0 / 0 / -0
    attention, j'utilise de petites expressions au quotidien... Je trouve ca super pratique...

    mais la, comme dit felfer :
    Je suis archi pour les expressions, mais de la a pondre une formule qui (pour un graphiste) est quand même complexe, je trouve ca vraiment tiré par les cheveux, au même titre que "c'est quoi le plug qui permet de faire le générique de Dr. House".

    Je trouve que c'est rendre les choses compliqués pour pas grand chose c'est tout :)

    maintenant, merci pour l'expression ca peut toujours servir :D

    Et au passage j'aime bcp ton blog matttrebor, y a vraiment des trucs tres intéressant, ceci dit, j'ai eu du mal a refaire ce que tu donnais en exemple. J'utilise des versions EN d'after et y a des trucs qui correspondait pas...
    Bon boulot en tout cas!!!!
     
  5. matttrebor

    Trophy Points:
    1,200
    Likes Received:
    2
    Messages:
    235
    Appréciations:
    +0 / 0 / -0
    Quand on a une animation cyclique, type clignotement infini 0-1-0-1-0-1-0... Le loopOut me parait pour le coup entièrement justifié.

    Si tu veux accélérer ton clignotement, tu fais comment ? Tu effaces toutes les clefs sauf les 2 premières, tu les ressers et tu refais des copier/coller ?

    Ça ne me parait pas très productif, écrire :
    loopOut("repeat") prend 5 sec, là où copier/coller les clefs est long, sujet à erreur, et pas maléable (je crois que c'est "repeat" non ? ou "cycle" ?...bref)

    Je comprends bien que les expressions peuvent paraitre compliquées, mais une fois qu'on est initié, c'est l'évidence dans beaucoup de cas.
    Et pour le coup, je crois que loopOut est une des fonctions les plus simple d AE, dans le sens où elle se suffit souvent à elle même, comme le wiggle . Juste une petit mot, et hop.

    'pas compris l'analogie avec le plug pour doctor House.

    Merci pour mon blog. Quant aux différences entre anglais et français, elles sont rares, mais elles existent. Par exemple, "paramètre glissière" c'est "slider" en anglais. Il y en a d'autre, il y a un petit script qui passe tout ça à la moulinette pour passer d'une version à une autre.

    En tout cas, mon blog est d'une part fait pour apprendre à creer ses propres outils, mais également à promouvoir cet outil, en montrant des cas où c'est impossible de faire sans, ou dommage.
    Pour le cas du loopOut, je pense que c'est dommage de faire sans. Je le pense sincèrement, car quand je vois la tête que les gens font quand il le découvre (comme si on leur enlevait des briques du sac à dos), ça me donne la réponse.

    Mais bien évidemment, je suis d'accord avec toi, pour qu'un calque voit son échelle passer de 0 à 100, on n'a pas forcément besoin d'un Math.exp(time), autaut jouer avec la courbe.
     
  6. mikerinos

    Trophy Points:
    1,200
    Likes Received:
    3
    Messages:
    596
    Appréciations:
    +0 / 0 / -0
    suis adepte du loopOut a toute les sauces, je me demande comment on peut vivre sans...

    pour les expressions et les scripts... on en reparle bientôt...OH OH OH (pere noel style)

    :D
     
  7. mkalt0235

    Trophy Points:
    1,650
    Likes Received:
    2
    Messages:
    506
    Appréciations:
    +0 / 0 / -0

    moi je ferais sélection des clefs et maintien alt +drag sur la dernière.
    Tout ce que je connais des expressions, c'est wiggle et loopOut et je vis bien avec.

    Je vois bien le potentiel des expressions, mais utilise très peu after effects professionnellement [et je n'aurais pas besoin d'expressions pour l'utilisation que j'en ai].
    Du coup je l'utilise potentiellement pour des projets personnels, or j'ai souvent la flemme de bosser en rentrant du boulot, alors de là à me mettre aux expressions…

    Il est évident que le temps "perdu" à apprendre est ensuite rentabilisé, c'est comme ça pour toute nouvelle technique, mais pinaise, c'est difficile de se forcer !
     
  8. felfer

    Trophy Points:
    1,650
    Likes Received:
    4
    Messages:
    618
    Appréciations:
    +0 / 1 / -0
    C'est vrai que les expressions ne sont pas indispensable dans un cadre personnel.

    Pour ma part elle le sont devenues lorsque j'ai du commencer à satisfaire un boss et des clients et pouvoir modifier des compositions complexes de manière réactive, la plupart du temps impensable en graillant les clés.

    Du coup, on gagne du temps et on peut écrire des conneries sur le Repaire :D

    Sequelles: C'est vendu aussi en DVD tes tutos ou uniquement en téléchargement?
     
  9. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    La sortie sur support DVD de la formation sur les expressions n'est pas prévue. Celle sur le fondamentaux devrait par contre être disponible bientôt en DVD. Mais quel l'intérêt de ce support DVD si tu as une connexion internet? Les fichiers sont téléchargeable depuis le site: après à toi de les sauver sur support DVD si tu veux.
     
  10. Alexiel

    Trophy Points:
    100
    Likes Received:
    0
    Messages:
    8
    Appréciations:
    +0 / 0 / -0
    Bonjour,

    Une petite question pour matttrebor. Tu utilises l'expression :
    blinkSpeed = 1;
    t = (Math.cos (blinkSpeed*time*Math.PI*2)+1)/2;
    Math.round(t)*100
    pour faire clignoter.

    Débutant en expression, j'utilise :
    Freq=1;
    t=Math.cos(Freq*time)+1;
    Math.round(t)*100;

    Avec cette expression je fais clignoter avec autant de souplesse. Je me prends la tête depuis 2jours pour savoir pourquoi rajouter "*Math.PI*2)+1)/2". Alors je suis sûr que cette expression est bien plus évoluer que la mienne et plus efficace, mais je ne vois pas où.:perplexe:
    Je suppose que le choix de Math.PI vient du fait que la fréquence est 1/(PI*2), mais je vois pas l'utilité de cette multiplication?

    quote :
    L'expression de Blojay fonctionne sans probleme, mais la 3eme ligne ne sert à rien, puisque t varie déja de 0 à 1. C'est d'ailleurs le but de "+1)/2"

    "+1)/2" : Je comprends pas tout. +1, ok c'est pour que la courbe ne descende pas sous zéro, et comme on est sur l'opacité(pas de négatif), ça lisse la courbe. Mais pourquoi tout diviser par 2 ?:suspicious:

    Merci par avance de la réponse
     
  11. matttrebor

    Trophy Points:
    1,200
    Likes Received:
    2
    Messages:
    235
    Appréciations:
    +0 / 0 / -0
    Ton expression fonctionne bien évidemment.
    La question est uniquement au niveau de la cohérence entre la fréquence et la réalité de l'animation.
    L'angle lu à l'intérieur d'un Math.cos() est en radian.
    Donc quand tu écris time*freq, ça ne correspond pas vraiment à une fréquence.
    Par exemple, si freq=5, à la seconde 1, tu as Math.cos(5).
    En principe, on appelle fréquence le nombre de pic par seconde. Et là, ton freq=5 ne te donnera pas du tout 5 pics par seconde, tu pourras le vérifier.
    C'est pour cela qu'on utilise Math.PI*2, car ça correspond à 360 degrés, un tour donc.

    Mais tu peux tout aussi bien utiliser time*freq, en trouvant la valeur de freq qui te plait pour avoir l'effet voulu.

    Pour le "+1)/2" :
    Le cosinus varie de -1 à 1. Le but étant là de le faire évoluer de 0 à 1, on rajoute d'abord 1 : le cosinus varie ainsi de 0 à 2. Et en divisant par 2, on varie bien de 0 à 1.

    On aurait aussi pu ne rien mettre, et écrire ça :

    blinkSpeed = 1;
    t = (Math.cos (blinkSpeed*time*Math.PI*2);
    T=linear(t,-1,1,0,1);
    Math.round(T)*100

    Ca transforme de la meme maniere -1,1 en 0,1.

    Voilà, j'espère avoir été clair.
     
  12. Blojay

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    79
    Appréciations:
    +0 / 0 / -0
    la guere des expressions?

    En faite, je prévoyait la modification de la vitesse mais là je vois que t'as raison j'aurai puis l'écrire autrement cad

    d'où le contrôle de "blinkSpeed" et de la transparence reste plus souple.
     
  13. matttrebor

    Trophy Points:
    1,200
    Likes Received:
    2
    Messages:
    235
    Appréciations:
    +0 / 0 / -0
    Ta dernière expression ne fait pas tout à fait la même chose. Ça ne clignote pas, ça varie de 10 à 90, en passant par toutes les valeurs.

    Pour clignoter, la ligne Math.round(T)*100 est nécessaire, c'est elle qui supprime les chiffres après la virgule pour ne garder que la valeur entière.

    Sinon, pour ton expression, tu écris :

    blinkSpeed = 1;
    lowOpacity = 10.0;
    highOpacity = 90.0;
    opNormal = (Math.cos(blinkSpeed * time * Math.PI * 2) + 1)/2;
    linear(opNormal,0,1,lowOpacity,highOpacity);

    Pour le coup, ça ne sert pas à grand chose de créer les variables lowOpacity et highOpacity, puisque tu les utilises directement dans ton LINEAR.
    Autant supprimer les deux créations de variables, et écrire en dernière ligne :

    linear(opNormal,0,1,10,90);

    Ça enlève une ligne, et c'est tout aussi simple de changer les chiffres dans cette dernière ligne.

    On a plutôt tendance à créer des variables quand elles reviennent plusieurs fois dans l'expression, quand elles varient ou quand elles viennent d'un autre calque ou autre propriété.

    Et pour le coup, autant écrire ça même :

    blinkSpeed = 1;
    opNormal = (Math.cos(blinkSpeed * time * Math.PI * 2);
    linear(opNormal,-1,1,10,90);
     
  14. Blojay

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    79
    Appréciations:
    +0 / 0 / -0
    il faudra fermer la parenthèse sur la 2eme ligne sinon il y aura une erreur dans l'expression
    sinon :jap: j'adore la simplicité dans tes expressions
     
  15. Mr.Personality

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    23
    Appréciations:
    +0 / 0 / -0
    Et le stroboscope ? Tout simplement
    Avec une couleur de clignotement verte dont on fait une incrustation.
    On peut même dupliquer cette effet pour créer un petit déphasage, et le résultat est plutôt excellent.
     
Loading...

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous