Bounce Back Expression

Weitere Informationen und Tutorial auf YouTube

e = .7;
g = 5000;
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


Bounce Expression

Inertial Bounce (Created by Dan Ebberts at motionscript.com)

Zusätzliche Infos und Tutorial auf YouTube

 

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 && t < 1){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
amp = .05;
freq = 4.0;
decay = 8.0;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}


Slow Motion

Eine Zeitlupe wirkt am besten, wenn dazu eine SloMo Ramp verwendet wird - das heisst, dass die Abspielgeschwindigkeit nicht ruckartig von 100% auf 75% (oder ähnlich) wechselt sondern dass der Übergang von Schnell zu Langsam fliessend ist.

Anleitung

Um das zu erreichen, wird folgendermassen vorgegangen:

  • Gewünschtes Footage in Projekt importieren
  • Footage in Komposition einfügen
  • Footage selektieren und durch Cmd+Alt+T die Funktion Time Remap öffnen
  • In die Graph-Ansicht wechseln
  • Keyframe zum Startzeitpunkt der SloMo setzen
  • Keyframe zum Endzeitpunkt der SloMo setzen
  • KF zum Endzeitpunkt und das letzte KF auswählen und gegen rechts verschieben
  • Ankerpunkte der Kurve nach Wunsch anpassen