Ana SayfaAdobe After EffectsAfter Effects’te Gerçekçi Zıplama (Bounce) Efekti

After Effects’te Gerçekçi Zıplama (Bounce) Efekti

YouTube'ta Takip Et →

After Effects expression konusunda çok iyi durumda ve size bazı dinamik hareketleri kolaylıkla yapabilmenizi sağlıyor. Bu derste bir nesnenin gerçekçi zıplama efektini ve büyüyen bir nesnenin gerçekçi bir şekilde esnemesini yapıyoruz.

Videoda expression’ları nasıl kullanabildiğinizi görebilirsiniz. Aşağıdaki kodu, bir nesnenin, topun düştükten sonraki zıplamasını oluşturmak için kullanabilirsiniz.

e = .5;
g = 20000;
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 &#038;&#038; 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

Aşağıdaki kodu scale efekti verdiğiniz bir nesne için kullanabilirsiniz.

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

Gözden kaçırdığım veya eklemek istediğiniz bir şey olursa yorum kısmına yazabilirsiniz.

Kafanıza Takılan Sorular