Nous suivre

Rejeter la notice

Illustration Event Raw C200--- Conf/Atelier/Apéro gratuit ----
Tourner en Raw avec une C200
Le jeudi 12 Déc à 17h
>> Toutes les infos <<

Disparition progressive layer à un temps donné

Discussion dans 'Adobe After Effects' créé par paulmulti, 22 Octobre 2019.

  1. paulmulti

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    2
    Appréciations:
    +0 / 0 / -0
    Bonsoir à tous, je suis nouveau sur le forum et j'écris ce soir car je suis dans une vraie impasse.

    Voilà, je cherche à créer sur After Effects une animation d'une page Facebook et je m'attarde en ce moment sur la fenêtre de discussion.
    Pour comprendre mon problème, si ceux qui veulent m'aider peuvent aller sur Facebook pour voir de quoi il s'agit :)

    Lorsque l'on scrolle dans la fameuse fenêtre, une barre de défilement apparait sur le côté droit. Lorsque l'on arrête et que le défilement s'immobilise, la barre disparait progressivement.

    Je souhaite donc reproduire cette animation.
    En réalité, la reproduire n'est pas le problème, je souhaite la faire de façon intelligente grâce aux expressions ou scripts.
    J'aimerais que lorsqu'on change la position (en Y) de cette barre, elle apparaisse et lorsqu'on arrête, elle disparaisse progressivement.

    À l'aide d'une expression comme :
    "curseur = thisComp.layer('Nul 2').effect('Paramètre glissière')('Curseur'); //j'ai relié la position Y de la barre à un paramètre glissière de Nul 2.
    if(curseur.valueAtTime(time-0.3) != curseur.valueAtTime(time)){
    100;
    }
    else{
    0;
    }";
    la première étape marche.

    Par contre pour que lorsqu'on arrête de bouger, la barre disparaisse progressivement, impossible d'y arriver :/

    J'ai essayé de mettre dans le else "setValueAtTime(time,100); setValueAtTime(time+1,0);" mais cette fonction ne marche que dans les scripts.

    J'ai voulu faire un script mais le time de la composition n'est évalué que lors de l'appel du script.

    J'ai essayé plein d'autre moyen mais rien ne fonctionne...

    Voilà si j'ai oublié de préciser des choses demandez-moi !
    Je remercie tous ceux qui m'ont lu de l'avoir fait.

    Très bonne soirée à tous ! :D
     
  2. Julienschi

    Points Repaire:
    850
    Recos reçues:
    3
    Messages:
    20
    Appréciations:
    +2 / 9 / -0
    En supposant que tu mettes quatre keyframes sur ton curseur (sur le nul) qui déplace ta barre, avec deux codes tu peux y arriver, en utilisant la fonction speed pour faire comprendre à after le moment où ta barre s'arrête :

    1 - crée un paramètre glissière sur ta barre (il va te permettre de pointer les temps des keyframes, et donc de gérer ta disparition dans le temps), sur lui :

    X = thisComp.layer("Nul 1").effect("Paramètre glissière")("Curseur");
    A=X.key(2).time;
    B=X.key(3).time;
    C=X.key(4).time;

    if (time<B) {A} else {C}

    2 - sur l'opacité de ta barre :

    C=thisComp.layer("Nul 1").effect("Paramètre glissière")("Curseur");
    S=C.speed;
    T=effect("Paramètre glissière")("Curseur");

    if (C.valueAtTime(time-2)==C.valueAtTime(time)) {0} else {

    if (S>0) {100} else {easeOut(time,T+1,T+2,100,0)}
    }

    ce qui te donne une barre qui disparaît une seconde après s'être arrêtée, avec un fondu d'une seconde.
     
    • Merci Merci x 1
  3. Julienschi

    Points Repaire:
    850
    Recos reçues:
    3
    Messages:
    20
    Appréciations:
    +2 / 9 / -0
    et si tu veux plus mettre de keyframes, ça ne change que le premier code, qui certes ne devient pas très élégant, mais qui n'a rien d'impossible, par ex. avec 6 keyframes :

    X = thisComp.layer("Nul 1").effect("Paramètre glissière")("Curseur");
    A=X.key(2).time;
    B=X.key(3).time;
    C=X.key(4).time;
    D=X.key(5).time;
    E=X.key(6).time;

    if (time<D) {if (time<B) {A} else {C}} else {E}
     
    • Merci Merci x 1
  4. paulmulti

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    2
    Appréciations:
    +0 / 0 / -0
    Merci beaucoup,

    D'ici la fin de semaine je me replonge dedans, teste tes recommandation et te tiens au courant !

    Encore merci :D
     
Chargement...

Partager cette page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous