萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 軟體知識 >  >> 多媒體工具

AE 表達式實戰:打造真實彈跳與緩衝過衝動畫

在動態設計中,「彈跳」與「緩衝過衝」雖然視覺相似,但底層物理模型截然不同。本文深入解析兩者數學原理,並提供可直接套用的表達式代碼,助你製作符合物理直覺的專業級動畫。

核心區別

特性緩衝過衝彈跳
物理模型諧波震盪(彈簧/擺)能量遞減的拋物線序列
頻率恆定(共振頻率)幅度減小時頻率增加
波形指數衰減正弦波一系列幅度遞減的拋物線

緩衝過衝表達式詳解

基礎指數衰減正弦波:

amp = 80;
freq = 1;
decay = 1;
t = time - inPoint;
amp * Math.sin(t * freq * Math.PI * 2) / Math.exp(t * decay);

進階版:匹配進入速度的過衝(適用於關鍵幀動畫結尾自動添加過衝)

freq = 3;
decay = 5;
t = time - inPoint;
startVal = [0,0];
endVal = [200,200];
dur = 0.1;
if (t < dur) {
  linear(t, 0, dur, startVal, endVal);
} else {
  amp = (endVal - startVal) / dur;
  w = freq * Math.PI * 2;
  endVal + amp * (Math.sin((t-dur)*w) / Math.exp(decay*(t-dur)) / w);
}

過衝動畫匹配進入速度

關鍵幀通用過衝表達式

直接貼在任意可打關鍵幀屬性(位置、縮放、旋轉等)即可:

freq = 3;
decay = 5;
n = 0;
if (numKeys > 0) {
  n = nearestKey(time).index;
  if (key(n).time > time) n--;
}
if (n > 0) {
  t = time - key(n).time;
  amp = velocityAtTime(key(n).time - .001);
  w = freq * Math.PI * 2;
  value + amp * (Math.sin(t*w) / Math.exp(decay*t) / w);
} else value

實戰應用範例

  • 文字逐字彈入:搭配 textIndex 隨機延遲,製作 3D 字元依序彈出並過衝定格。
  • 圖層旋轉入場:X 軸旋轉從 100° 歸零,自帶彈性感。

關鍵參數調教心法:頻率越高、衰減越大,過衝越快收斂;想要明顯過衝可降低頻率或提高進入速度。建議先用 freq=3, decay=5 微調。

copyright © 萬盛學電腦網 all rights reserved