module inscription newsletter haut de page forum mobile

Rejeter la 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

Ateliers et Formations

erreur dans une expression bounce+marker

Discussion dans 'Adobe After Effects' créé par visionnocturne, 14 Septembre 2007.

Tags:
  1. visionnocturne

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    9
    Appréciations:
    +0 / 0 / -0
    Hello,

    Je commence à me mettre aux expressions et
    j'ai un souci avec une expression de mon animation.:help:

    J'utilise une expression bounce pour faire arriver un élément de mon animation.

    cette expression est:

    final_scale=100;
    bounce_duration=3; //lower number is longer
    bounce_speed=10; //lower number is slower
    x=final_scale*(1-Math.exp(-bounce_duration*time)*Math.cos(bounce_speed*time));
    [x,x]


    elle débute à la frame 0 mais j'aimerai qu'elle débute quand je le désire.

    J'ai donc réaliser une expression différente pour qu'elle commence avec un marker
    que j'ai placer sur mon layer.

    n = 0;
    t = 0;
    if (marker.numKeys > 0){
    n = marker.nearestKey(time).index;
    if (marker.key(n).time > time) n--;
    }
    if (n > 0) t = time - marker.key(n).time;

    final_scale=100;
    bounce_duration=3; //lower number is longer
    bounce_speed=10; //lower number is slower
    x=final_scale*(1-Math.exp(-bounce_duration*time)*Math.cos(bounce_speed*time));
    [x,x]


    Mais malgé cette expression, l'animation bounce comme toujours à 0.
    J'ai tester différentes solutions mais l'animation commence toujours à 0.
    Je crois que je dois changer quelque chose sur dans cette ligne mais je n'y arrive pas.

    Quelqu'un aurait-il la solution à mon problème et pourrai m'expliquer où se trouve mon erreur. :perplexe:

    Merci
     
  2. visionnocturne

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    9
    Appréciations:
    +0 / 0 / -0
    reponse

    ok, j'ai trouvé où j'ai réaliser une erreur.

    c'est tout simple,il faut remplacer le time par t, sinon c'est logique il garde le time comme reference temps

    voici le code pour celui que çà intéresse

    n = 0;
    t = 0;
    if (marker.numKeys > 0){
    n = marker.nearestKey(time).index;
    if (marker.key(n).time > time) n--;
    }
    if (n > 0) t = time - marker.key(n).time;

    final_scale=100;
    bounce_duration=4; //lower number is longer
    bounce_speed=15; //lower number is slower


    x=final_scale*(1-Math.exp(-bounce_duration*t)*Math.cos(bounce_speed*t));
    [x,x]
     
Chargement...

Partager cette page