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 pmI’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 pmPlay 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 24, 2011 at 12:03 amAlso, 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 pmCould 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 pmSet 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 pmWorks 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 pmIn 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 pmAh, 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 amExamples from playing around with these awesomely nifty codes:
https://vimeo.com/26347826People 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 amThanks 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!
Reply to this Discussion! Login or Sign Up