AE如何模擬畫面震動增加動畫張力
有沒有看過那種影片,一顆炸彈爆炸、字卡一登場、角色畫面忽然震動整個畫面就開始搖搖晃晃,呈現畫面震撼讓觀眾帶入影情境中。
來了解這段實用的 After Effects 表達式,怎麼讓畫面「指定時間點震一震,再慢慢停下來」。
🎯 這句表達式怎麼使用?
簡單來說:
你指定一堆時間點,像是:「2秒時開始震一下」、「7秒再震一次」
每次震動會持續幾秒(這邊是 3 秒),然後會慢慢停止(靠 decay 衰減)
amp 控制抖的幅度,freq 控制抖的速度,調太大會像老舊電視壞掉
最後透過 x、y 做出上下左右的隨機偏移,加到原本的位置上
💡 小提醒
想要更戲劇化?增加 amp 和 freq!
想要多次震?在 startTimes 裡面多加幾個時間點就行
想要左右震、上下不動?只用 x 或 y 偏移即可
🔧 震動表達式程式碼:
amp = 30; // 震幅(震多大) freq = 10; // 頻率(多快震) duration = 3; // 持續幾秒 decay = 1; // 衰減速度 startTimes = [2, 7]; // 震動起始時間點(可以一直加) totalOffset = [0, 0]; // 預設不動 for (i = 0; i < startTimes.length; i++){ t = time - startTimes[i]; if (t >= 0 && t <= duration){ decayFactor = Math.exp(-decay * t); x = Math.sin(t * freq * 2 * Math.PI) * amp * decayFactor; y = Math.cos(t * freq * 2 * Math.PI) * amp * decayFactor; totalOffset += [x, y]; } } value + totalOffset;
這段表達式就像 After Effects 的打地鼠遊戲,每個指定時間點都藏著一顆震動炸彈,只要踩到時間,就「碰!」一下,帶你震出畫面靈魂。
你可以複製上面的程式,貼到任意圖層的 Position(位置)欄位,然後自己試著玩玩看震幾秒、震多大,玩出屬於你自己的震撼場面。