Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions What is the “t=time” value in wiggle expression?

  • What is the “t=time” value in wiggle expression?

    Posted by Lord Scales on May 1, 2007 at 7:41 pm

    I am looking for this there is a long time.

    There is the wiggle:
    wiggle(freq, amp, octaves = 1, amp_mult = .5, t = time)

    I know what all the values do, except the t = time one.

    Could someone explain this?

    Thanks very much!

    Lord Scales

    Joe Nicklo replied 11 years, 1 month ago 4 Members · 9 Replies
  • 9 Replies
  • Dan Ebberts

    May 1, 2007 at 7:56 pm

    It just specifies the time that the wiggle value is retrieved from. Works kind of like valueAtTime().

    For fun, apply this expression to a small solid’s position and then duplicate the solid a bunch of times:

    delay = 0.1;
    seedRandom(1,true);
    wiggle(1,200,1,0.5, time – (index-1)*delay)

    Dan

  • Lord Scales

    May 1, 2007 at 8:16 pm

    I got it!

    Thanks, Dan!

    By the way, the effect is really funny 🙂

    Lord Scales

  • Scott Green

    June 15, 2012 at 1:21 pm

    Hi, I’m trying to delay a wiggle along the Y axis that doesn’t start until 100 frame into the animation, can you help?

    I tried:

    delay = 100; b = wiggle(5,5);[value[0], b[1]]

    But I’m a bit of a noob when it comes to expressions 🙂

    Thanks

    Creative Multimedia Design Manchester | S©tt Green | Splurj

  • Scott Green

    June 15, 2012 at 1:22 pm

    Also, can you also specify a time for the wiggle to stop wiggling?

    Creative Multimedia Design Manchester | S©tt Green | Splurj

  • Dan Ebberts

    June 15, 2012 at 4:42 pm

    This is one way to do it. This expression starts wiggling at frame 100 and stops at frame 200, with a 5-frame ramp on each end:


    fStart = 100;
    fStop = 200;
    fRamp = 5;

    amp = 5;
    freq = 5;

    tStart = framesToTime(fStart);
    tStop = framesToTime(fStop);
    tRamp = framesToTime(fRamp);
    if (time < (tStart + tStop)/2)
    a = linear(time,tStart,tStart+tRamp,0,amp)
    else
    a = linear(time,tStop-tRamp,tStop,amp,0);
    wiggle(freq,a)

    Dan

  • Scott Green

    June 15, 2012 at 10:10 pm

    That’s amazing thanks, but how do I make it only wiggle on the Y axis and not the X?

    Creative Multimedia Design Manchester | S©tt Green | Splurj

  • Scott Green

    June 19, 2012 at 7:53 am

    I’m alos wondering, is it possible to make an expression start and stop at key points, say ‘start at 100 frames, stop at 200, start again at 300, stop at 400’ for example?

    Thanks.

    Creative Multimedia Design Manchester | S©tt Green | Splurj

  • Dan Ebberts

    June 19, 2012 at 1:27 pm

    In general, yes–although the way you do it might depend on the expression. Basically you need to first calculate the total “run time” up through the current frame and plug that total into your expression where you would normally use time.

    Dan

  • Joe Nicklo

    March 17, 2015 at 2:00 am

    This was a huge help for something I’m working on. Thanks!

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