Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Animating wiggle effect problem

  • Animating wiggle effect problem

    Posted by Sami Bayley on September 23, 2021 at 11:13 am

    So, I’ve got a Null (Wiggle Null) controlling a whole scene. I’d like animate the wiggle so that it gradually gets more intense.

    I’ve currently got the wiggle set up with 2 sliders controlling frequency and amount. This is how it looks:

    wiggle(effect("Speed")("Slider"),effect("Amount")("Slider"))

    However, when I animate the keyframes, the time between keyframes is filled with a really jolty motion until it reaches the end keyframe!

    I thought maybe it was because the numbers on the slider were not whole numbers, so I used this on each slider:

    Math.round(effect("Speed")("Slider"))

    But to no avail!

    Can anyone help? What am I doing wrong?

    Sami

    Sami Bayley replied 4 years, 7 months ago 2 Members · 2 Replies
  • 2 Replies
  • Dan Ebberts

    September 23, 2021 at 12:59 pm
  • Sami Bayley

    September 27, 2021 at 10:18 am

    Hey Dan, this is great. And defo working, I’ve just got a slight hiccup.

    This is what I’m working with:

    freq = thisComp.layer("WIGGLE").effect("Slider Control")("Slider");

    amp = 30;

    n = freq.numKeys;

    orig_xPos = transform.position[0];

    orig_yPos = transform.position[1];

    ground = effect("Ground")("Slider");

    if (n > 0 && freq.key(1).time < time){

    accum = freq.key(1).value*(freq.key(1).time - inPoint);

    for (i = 2; i <= n; i++){

    if (freq.key(i).time > time) break;

    k1 = freq.key(i-1);

    k2 = freq.key(i);

    accum += (k1.value + k2.value)*(k2.time - k1.time)/2;

    }

    accum += (freq.value + freq.key(i-1).value)*(time - freq.key(i-1).time)/2;

    if (orig_yPos < ground) {

    [orig_xPos, orig_yPos];

    } else if (orig_yPos > ground) {

    [orig_xPos, ground];

    }else{

    accum = freq.value*(time - inPoint);

    }

    wiggle(1,amp,1,.5,accum)

    }

    I can’t get things to work with the ground plane I’ve added. It throws the rest of the keyframes off.

    The “ground” slider is for a shadow rig that I put together that basically stops the main layer clipping with the shadow.

    Any idea’s? Again, I’m pretty crap at this so any help is seriously appreciated.

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