認識 Mixos AI探索

動畫中的緩動:ease in、ease out 與曲線

緩動是指動畫數值在關鍵影格之間如何加速與減速,而不是以固定速率移動。緩動讓動作輕柔開始、輕柔停止,或兩者兼具——就像有重量的物體真實的運動方式——由兩個關鍵影格之間的內插曲線決定。

作者:

簡短回答

緩動控制關鍵影格之間的加速。線性動作以固定速度移動並突然停止;有緩動的動作則從一個關鍵影格加速離開,並減速進入下一個。由於各工具對「ease in」的定義不一,最清楚的說法是慢開始(加速)或慢結束(減速)。每個關鍵影格上的貝茲把手能精確塑造緩動,而把手拉過關鍵影格的數值就會產生過衝。

為什麼固定速度看起來不對

真實的物體有質量。汽車不會在移動的瞬間就達到巡航速度,門也不會在那一格突然停住。以全速開始和停止的動作,看起來會機械、沒有重量或像電腦生成,即使觀眾說不出原因。

迪士尼的動畫師把這個原則稱為 slow in 與 slow out——《The Illusion of Life》所提出的動畫十二原則之一。動作開頭和結尾附近多畫幾張、中間少畫幾張,就能產生加速與減速。在 3D 軟體中,同樣的效果來自關鍵影格之間的曲線,而不是額外的畫面。

Ease in 與 ease out 的意思相反

這是最常見的困惑來源,而且不是你的錯。在 CSS 以及 Robert Penner 被廣泛複製的緩動函式中,ease-in 表示動作慢慢開始並加速,ease-out 則表示快速開始並減速到停止。曲線屬於兩個關鍵影格之間的整段動作。

在 After Effects 與許多以關鍵影格為基礎的工具中,緩動屬於關鍵影格:緩入一個關鍵影格,表示動作抵達時減速;緩出一個關鍵影格,表示動作離開時慢慢開始。所以最後一個關鍵影格上的 After Effects ease in,與整段動作上的 CSS ease-out,會產生同樣的減速,名稱卻相反。直接描述動作——慢開始、慢結束、兩端都慢——就能避免歧義。

內插類型與貝茲把手

線性內插在關鍵影格之間畫一條直線:固定速度,並在每個關鍵影格突然改變。常數、階梯式或停留內插會保持數值直到下一個關鍵影格再跳變,適合粗略定位、眨眼,以及任何應該瞬間切換的事物。貝茲或雲形線內插會畫出一條穿過關鍵影格的平滑曲線,緩動就發生在這裡。

貝茲關鍵影格有兩個把手,一個控制抵達關鍵影格的曲線,另一個控制離開的曲線。平放的把手表示關鍵影格處速度為零——也就是緩動。較長的把手會讓這種緩慢維持在動作的更多部分。成一直線的把手會平滑地穿過關鍵影格;分開的把手則會造成尖銳的方向改變,如同彈跳。拉動把手讓曲線超過關鍵影格的數值,動作就會越過目標再回穩。

標準緩動族群

Penner 的緩動方程式發表於 2000 年代初,成為命名曲線的共同詞彙:sine、quad、cubic、quart、quint、expo 與 circ,每種都有 in、out 與 in-out 形式,從幾乎察覺不到(sine)到劇烈(expo)。Back 會在回穩前越過目標。多數動態工具與 CSS 函式庫都附有某個版本的這組曲線,通常以三次貝茲曲線近似。

Elastic 與 bounce 是例外。它們在一次動作內震盪多次,這是單一三次貝茲辦不到的,所以工具要不用數個關鍵影格建立,要不就以程序化方式生成。

該用哪種緩動

對大多數會啟動與停止的動作,兩端都做緩動:鏡頭推進、物件滑入定位、轉頭。到達並回穩的事物用慢結束,起飛的事物用慢開始。對應該維持固定的動作使用線性——旋轉的風扇、輸送帶、循環週期的中段——以及動作應該直接穿過的關鍵影格。快速切換、眨眼與粗略定位用停留。

Mixos Studio 中的緩動

選取一個關鍵影格,時間軸標頭就會提供 Linear、Ease in、Ease out、Ease 與 Hold。它們遵循以關鍵影格為基礎的慣例:Ease in 讓動作在抵達關鍵影格時減速,Ease out 讓動作在離開時減速,而 Ease 兩者兼具——就是 After Effects 的 Easy Ease。時間軸取得焦點時,F9 套用 Ease,⇧F9 為 Ease in,⌘⇧F9 為 Ease out。

Curve… 會開啟從 Sine 到 Back 的 Penner 曲線族群,可依名稱也可依感覺搜尋,並列出你儲存的曲線。Curves 模式會把軌道畫成帶貝茲把手的曲線,可直接拖曳,包含過衝。Elastic 與 bounce 刻意不放在曲線清單中;改用 + Motion 下的彈簧與彈跳生成器來產生這類動作。

常見問題

ease in 與 ease out 是什麼意思?

兩者都描述速度的漸進變化,但不同工具對它們的用法相反。在 CSS 與 Penner 函式中,ease-in 是慢慢開始,ease-out 是慢慢結束。在 After Effects 與其他以關鍵影格為基礎的工具中,緩入關鍵影格會讓動作在抵達時減速,緩出關鍵影格則讓動作在離開時減速。

線性與貝茲內插有什麼差別?

線性內插以固定速度移動數值,並在每個關鍵影格突然改變。貝茲內插則畫出一條穿過關鍵影格的平滑曲線,以控制動作如何加速與減速的控制把手,這就是緩動得以成立的原因。

什麼是停留關鍵影格?

採用常數(階梯式)內插的關鍵影格:數值會停在原處直到下一個關鍵影格,然後跳變。用於粗略定位、眨眼、剪接,以及任何應該瞬間切換而不是移動過去的事物。

怎麼讓動畫有過衝效果?

要不就在目標之後再加一個關鍵影格,並在其後加一個回穩的關鍵影格;要不就拉動貝茲把手,讓曲線越過關鍵影格的數值再回來。Back 類的緩動曲線預設做的也是同樣的事。

為什麼我的動畫看起來很機械?

通常是因為它是線性的:固定速度,並在每個關鍵影格有突然的啟動與停止。把啟動與停止加上緩動,並把動作的各部分錯開幾格,讓它們不會同時移動,就能解決大部分問題。