Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Per Character Bounce Scale

  • Per Character Bounce Scale

    Posted by S.j. Deluise on March 23, 2011 at 8:05 pm

    I’ve seen this effect recently on a tv commercial.
    It’s similar to the effect you would create by adding a text animator for Scale, Based on Character, Randomize Order ON, and keyframing the range start from 0-100%.
    Only each character had a Spring/Bounce to it.

    Essentially, it’s THIS effect put on each character of a word, scaling in random order:

    freq =3;
    amplitude = -100;
    decay = 1.0;

    s = amplitude*Math.cos(freq*time*2*Math.PI)/Math.exp(decay*time);
    scale + [s,s]

    I’m assuming there’s a way to do this without having the expression on a layer for each character (otherwise I applaud that animator’s patience).

    I tried combining expressions with a Text animator. But maybe that’s the wrong approach.

    Stacy Obakpolor replied 10 years, 7 months ago 9 Members · 23 Replies
  • 23 Replies
  • Dan Ebberts

    March 23, 2011 at 10:14 pm

    Play with this:

    Add a Scale Animator, set the Scale value to 0. And an Expression Selector, delete the Range Selector, and add this expression to the Expression Selector’s Amount parameter:


    maxDelay = 2;
    seedRandom(textIndex,true);
    myDelay = random(maxDelay);
    t = time - myDelay;
    if (t >= 0){
    freq =3;
    amplitude = -100;
    decay = 1.0;
    s = amplitude*Math.cos(freq*t*2*Math.PI)/Math.exp(decay*t);
    [s,s]
    }else{
    value
    }

    Dan

  • S.j. Deluise

    March 23, 2011 at 11:45 pm

    Incredible. Works perfectly.
    Thank you again!

  • S.j. Deluise

    March 24, 2011 at 12:03 am

    Also, just noticing that an amplitude of +100 makes the characters grow from 0, whereas an amplitude of -100 causes them to pop on.

  • S.j. Deluise

    July 12, 2011 at 3:55 pm

    Could this expression selector be applied to other expressions? For instance if I wanted the characters (or words) to bounce in one at a time using the bounce expression seen below. Is it a simple matter of switching the ‘if’ condition to that bounce expression?

    I tried but I think I’m missing something, maybe on another parameter.

    //BOUNCE EXPRESSION
    freq = 1.0; //oscillations per second
    amplitude = 90;
    decay = .5;

    posCos = Math.abs(Math.cos(freq*time*2*Math.PI));
    y = amplitude*posCos/Math.exp(decay*time);
    position - [0,y]

    //MODIFIED EXPRESSION SELECTOR
    maxDelay = 2;
    seedRandom(textIndex,true);
    myDelay = random(maxDelay);
    t = time - myDelay;
    if (t >= 0){

    freq = 1.0; //oscillations per second
    amplitude = 90;
    decay = .5;
    posCos = Math.abs(Math.cos(freq*t*2*Math.PI));
    y = amplitude*posCos/Math.exp(decay*t);
    position - [0,y]

    } else {
    value
    }

    People say my motion graphics are moving.

  • Dan Ebberts

    July 12, 2011 at 5:00 pm

    Set the y component of your Position animator to the maximum value you want. Then try this in the Expression Selector:


    maxDelay = 2;
    seedRandom(textIndex,true);
    myDelay = random(maxDelay);
    t = time - myDelay;
    if (t >= 0){
    freq = 1.0; //oscillations per second
    amplitude = 100;
    decay = .5;
    posCos = Math.abs(Math.cos(freq*t*2*Math.PI));
    amplitude*posCos/Math.exp(decay*t);
    } else {
    value
    }

    Dan

  • S.j. Deluise

    July 12, 2011 at 5:11 pm

    Works great!
    Is there any way to do this by word rather than by character?

    Very cool. Sure beats having a layer for every letter.
    Would this work for Y-rotations per letter, like a Wheel of Fortune reveal, etc.?

    People say my motion graphics are moving.

  • Dan Ebberts

    July 12, 2011 at 5:27 pm

    In the Expression Selector, just change Based On to “Words”.

    >Would this work for Y-rotations per letter?

    Yes.

    Dan

  • S.j. Deluise

    July 12, 2011 at 5:49 pm

    Ah, yes. That parameter was temporarily hidden for me.
    So many possibilities. Thank again, Dan.
    Your code is simple amazing – kudos.

    People say my motion graphics are moving.

  • S.j. Deluise

    July 13, 2011 at 1:40 am

    Examples from playing around with these awesomely nifty codes:
    https://vimeo.com/26347826

    People say my motion graphics are moving.

    Some contents or functionalities here are not available due to your cookie preferences!

    This happens because the functionality/content marked as “Vimeo framework” uses cookies that you choosed to keep disabled. In order to view this content or use this functionality, please enable cookies: click here to open your cookie preferences.

  • Charlie Aquino

    August 18, 2011 at 9:44 am

    Thanks a lot for this. It helped a lot.

    But just a question. What if you don’t want the animation to be random, how do we modify the expression?

    Thanks a lot!

Page 1 of 3

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