Beklager hvis du nå kom hit for å lære alt som er å kunne om bruk av After Effects expressions. For riktignok har jeg lært meg en del de siste årene, men akkurat disse er jeg ingen proff på enda. Men jeg jobber alltid med å bli bedre.

Det jeg kommer med i dag er rett og slett noen tips for helt ferske After Effects-brukere som snuser på mulighetene expressions har å by på.

Så hva er egentlig expressions når vi snakker om AE? Ved å ta i bruk noen korte linjer med kode kan man gjøre ganske mye gøy i After Effects. Man kan automatisere en del prosesser som ellers ville krevd en haug med keyframes, eller man kan gi objekter en mer naturlig bevegelse, som igjen kan gjøres på gamlemåten, men ved å kopiere og lime inn litt kode har man spart ganske mye tid.

Alt + stoppeklokke = expressions

For å legge til en expression holder vi inne ALT og trykker på stoppeklokken for det ønskede laget og den ønskede bevegelsen du vil endre.
For eksempel kan man holde inne ALT og trykke på stoppeklokken foran ‘position’. Da åpner et panel som heter ‘Expression: Position’. Som default står det noen linjer i boksen fra før. Dette kan bare slettes og erstattes med koden vi skal bruke.

En kode i dette feltet vil kun fungere om den er skrevet inn helt riktig. Derfor er det viktig å være nøye, enten du kopierer en eksisterende kode eller om du skriver inn koden selv.

forslag til nyttige expressions

Inertial Bounce (position)

Denne koden kan brukes til å gi et element en “bounce back-effekt”. Som for eksempel denne ballen som faller ned og spretter litt før den ligger i ro. Ved å endre på amp, freq eller decay kan du endre styrken på effekten.

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;
}

Bounce Back (Scale)

Denne koden gjør noe av det samme, men for ‘Scale’. En sirkel kan for eksempel vokse fra 50% størrelse til 100% og i det den stopper vil den få en liten bounce-effekt.
Ved å endre på tallene i de tre første linjene kan du eksperimentere med ulike styrker av effekten.

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

Om dette er interessant for noen der ute kan jeg legge ut flere expressions etterhvert!

Leave a Reply

Your email address will not be published. Required fields are marked *

44 − = 43