Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions How do I use multiple expressions on one keyframe slider?

  • How do I use multiple expressions on one keyframe slider?

    Posted by Alex Goldsmith on July 15, 2018 at 11:21 am

    This is probably a very easy, newbie question to answer, but I can’t find anything on it online- so thank you for your time.

    I am working on a project where I want the scale of my layer to increase and decrease based on the kick drum of a song. After watching some Youtube tutorials, I’ve done this so far:

    1. Right click an audio track where I’ve isolated the kick of the song.

    2. Keyframe Assistant>convert audio to keyframes

    3. Go into the new Audio Amplitude null object and delete right and left channel keyframes.

    4. Open up expressions on the “Scale” parameter of the layer I want to effect.

    5. Pick whip the “Scale” expression to the keyframe slider on “both channels” of audio amplitude.

    6. Add a new line to the “Scale” expression:
    [temp, temp] + [100, 100]

    7. Go to the keyframe slider expression on “both channels” and replace the current one with an Ease or Linear expression.
    (some people say to use ease(value,x,x,x,x) some people say to use linear(value,x,x,x,x). I can’t tell what the difference is?

    Now I have the general effect that I want to use, which is good, but I want to smooth it out. It’s way too jumpy.
    Some recommend using the smoother panel, but I’ve found that it has unpredictable and unsatisfactory results.

    Then I found the smooth expression online. smooth(x,x); I tried to use this on a new line after the ease expression like this:

    ease(value,x,x,x,x);
    smooth(x,x);

    But it didn’t work. Either way I wrote it, it only used one of the two expressions.

    I guess you can’t use more than one expression on a single parameter?
    When I only used smooth, I got the smoothness I was looking for, but the range of motion was huge.
    Is there a way to control both? Does it involve using multiple nulls somehow?
    Or is there a way to physically convert to new keyframes from an expression? If that’s possible then I can do one expression, then “bounce the efffects permanantly to keyframes”, then use the other.

    Is there a way to solve this issue?

    Thank you so much in advance for your advice.

    Alex

    Alex Printz replied 7 years, 9 months ago 2 Members · 1 Reply
  • 1 Reply
  • Alex Printz

    July 16, 2018 at 2:24 pm

    try it in this order, so that the smooth’d code is feeding into the ease (set your variable names to whatever you desire)

    s = smooth(.2,5);
    ease( s , inLow , inHigh , outLow , outHigh );

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