AE Expression / Time

loopOut(type=”cycle”)
alt

loopOut(type=”pingpong”)
alt

loopOut(type=”continue”)
alt

loopOut(type=”offset”)
alt

 

 

廣告

MG資源

  • Font

Font Squirrel
http://www.fontsquirrel.com

Typography Served – Gallery
http://www.typographyserved.com

  • AE

Video Copilot
https://www.videocopilot.net

  • Infographic

Daily Infographic
http://dailyinfographic.com

Video Infographics
http://www.videoinfographics.com

  • 每天必看

AnimApp.tw 動畫社群
http://animapp.tw

Motionographer
http://motionographer.com

STASH
http://www.stashmedia.tv

  • 尋找Reference

Motion Graphics Served — Gallery
http://www.motionserved.com

Pinterest
http://www.pinterest.com

  • 尋找靈感

Abduzeedo Design Inspiration
http://abduzeedo.com

but does it float
http://butdoesitfloat.com

  • 個人網站

Cargo
http://cargocollective.com

WordPress
https://wordpress.com

Weebly
http://www.weebly.com

AE Expression

AE expressions
Dan Ebberts
http://www.motionscript.com/expressions-lab-ae65/table-of-contents.html

 

Constant Sin Wave

freq = 1;
amp = 100;
value + amp*Math.sin(freq*time*Math.PI*2)

Intertial Bounce : (Decaying Sine Wave)

amp = .1;
freq = 2.0;
decay = 2.0;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n--;
}}
if (n == 0){ t = 0;
}else{
t = time - key(n).time;
}
if (n > 0){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{value}

Bounce Back  :

e = .8; //elasticity
g = 11000; //gravity
nMax = 9;

n = 0;
if (numKeys > 0){
  n = nearestKey(time).index;
  if (key(n).time > time) n--;
}
if (n > 0){
  t = time - key(n).time;
  v = -velocityAtTime(key(n).time - .001)*e;
  vl = length(v);
  if (value instanceof Array){
    vu = (vl > 0) ? normalize(v) : [0,0,0];
  }else{
    vu = (v < 0) ? -1 : 1;
  }
  tCur = 0;
  segDur = 2*vl/g;
  tNext = segDur;
  nb = 1; // number of bounces
  while (tNext < t && nb <= nMax){
    vl *= e;
    segDur *= e;
    tCur = tNext;
    tNext += segDur;
    nb++
  }
  if(nb <= nMax){
    delta = t - tCur;
    value +  vu*delta*(vl - g*delta/2);
  }else{
    value
  }
}else
  value

Squash and Stretch :

maxDev = 10; // max deviation in pixels
spd = 15;  //speed of oscillation
decay = 3.0; //how fast it slows down

t = time - inPoint;
x = scale[0] + maxDev*Math.sin(spd*t)/Math.exp(decay*t);
y = scale[0]*scale[1]/x;
[x,y]

Pendulum :

veloc = 7; 
amplitude = 80; 
decay = .7;

amplitude*Math.sin(veloc*time)/Math.exp(decay*time)