Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Trouble with Dan Ebberts Overshoot expression

  • Trouble with Dan Ebberts Overshoot expression

    Posted by André Ihlar on February 10, 2014 at 2:44 pm

    Hi.
    I am really frustrated with this, as I can’t see any logic behind this. I am trying to have my 3D text flip in row by row with some overshoot. Sometimes I get this error though (But not every time):

    After Effects warning: Syntax error
    Expression disabled.

    Error occurred at line 1.

    I get the error most times, but every now and then I manage to export or preview the animation. Does this make any sense to any of you guys?

    /André

    freq = 2;
    decay = 3;
    delay = .20;
    dur = .13;

    myDelay = (textIndex-1)*delay;
    t = time - (inPoint + myDelay);
    startVal = 100;
    endVal = 0;

    if(t < dur){
    linear(t,0,dur,startVal,endVal);
    }else{
    amp = (endVal - startVal)/dur;
    w = freq*Math.PI*2;
    endVal + amp*(Math.sin(t*w)/Math.exp(decay*t)/w);
    }

    Dan Ebberts replied 12 years, 7 months ago 3 Members · 4 Replies
  • 4 Replies
  • George Goodman

    February 10, 2014 at 3:33 pm

    It may have something to do with the way you’re implementing it, but this should give you the desired effect you’re looking for:

    -Add a rotation animator to your text and enable per character 3d
    -Add an expression selector and delete the range selector
    -Change the selector to be based on lines
    -Rotate the animator to where you want it to start
    -Animate the amount of the expression selector from 100-0
    -Add the expression below to the amount
    -Play with the values in the expression and the distance of the keyframes to get the right effect

    delay = .1;
    tDelay = delay*textIndex;
    n = 0;
    if (numKeys > 0){
    n = nearestKey(time-tDelay).index;
    if (key(n).time > time) n--;
    }
    if (n == 0){
    t = 0;
    }else{
    t = time - key(n).time - tDelay;
    }

    if (n > 0){
    v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
    amp = .05;
    freq = 2.0;
    decay = 2.0;
    valueAtTime(time-tDelay) + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
    }else{
    value;
    }

    “|_ (°_0) _|”

    Sincerely,

    George

  • Dan Ebberts

    February 10, 2014 at 6:39 pm

    Is that the entirety of the error message?

    Also, how long is your comp? If it’s too long, you can get to the point where Math.exp() reaches infinity and the expression will die. I think it would be at about 4 minutes in your case (with decay set to 3).

    Dan

  • André Ihlar

    February 11, 2014 at 12:32 pm

    Thanks a lot for your engagement!

    Ok, the comp length shouldn’t be a problem then, My comp is 20 seconds.
    The layer with the textanimation starts at 11:11 and ends at 18:00.
    The whole error Message is:

    After Effects warning: Syntax error
    Expression disabled.

    Error occured at line 1.
    Comp: ’20sek Tigi’
    Layer: 5(‘TIGI TWEENS fr 299KR 1100KR’)
    Property: ‘Amount’

    /André

  • Dan Ebberts

    February 11, 2014 at 2:33 pm

    I’m stumped. I think I’d have to see it.

    Dan

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy