wiggle表達式介紹及應用教程

更新於 發佈於 閱讀時間約 6 分鐘
raw-image

wiggle是一個非常有用的表達式,用於給層的屬性添加隨機抖動效果。這個表達式特別適合於創建自然、隨機的運動,例如攝像機的手持效果、文字的抖動、或者任何需要不規則運動的場景。


基本語法

wiggle(frequency, amplitude)

  • frequency:每秒鐘的抖動次數。
  • amplitude:抖動的幅度。
  • 基礎應用

假設你想讓一個圖層的位置隨機抖動,每秒抖動 2 次,每次的幅度為 50 像素。你可以在位置屬性中添加以下表達式:wiggle(2, 50)

  • 應用於旋轉

如果你想讓一個圖層的旋轉隨機抖動,每秒抖動 3 次,每次的幅度為 10 度,可以在旋轉屬性中添加:wiggle(3, 10)

  • 應用於透明度

同樣,你可以讓一個圖層的透明度隨機變化,每秒變化 1 次,變化幅度為 20%:wiggle(1, 20)


raw-image

----------------------------------------------------------------------------

*限制單一維度的抖動

raw-image

如果你只想讓某一個維度抖動,例如只讓X軸位置抖動,可以使用以下表達式,假設你的圖層位置是 [x, y],並且你希望只讓 X 軸擺動,而 Y 軸保持不變

  1. 選擇圖層的 位置 屬性,並按住 Alt 鍵(Windows)或 Option 鍵(Mac),點擊位置的碼錶圖標來打開表達式編輯器。
  2. 在表達式編輯器中輸入以下代碼:


raw-image



這樣,圖層的位置就會在 Z 軸上隨機擺動,而 X 和 Y 軸保持固定。

使用這些表達式,你可以輕鬆地控制 wiggle 只在一個維度上進行擺動,從而創建你所需要的動畫效果。


x = wiggle(3, 50)[0]; // 取得 wiggle 的 X 值 

y = transform.position[1]; // 保持 Y 值不變

[x, y]


*添加衰減

如果你想讓抖動隨時間衰減,可以使用一些複雜的表達式。例如,下面這個表達式會讓抖動在 5 秒內逐漸減弱:

raw-image




pathPosition = thisComp.layer("Path Layer").position;
wiggleEffect = wiggle(2, 30);
[pathPosition[0] + wiggleEffect[0], pathPosition[1] + wiggleEffect[1]]



*與其他表達式結合

你也可以將 wiggle 與其他表達式結合使用。例如,你可以讓一個物體在沿著一個路徑運動的同時添加抖動效果:

使用 wiggle 表達式可以為你的動畫添加更多的隨機性和自然感,使你的作品更加生動和有趣。希望這些資訊對你有幫助!

freq = 3;
amp = 50;
decay = 1.0; // 衰減速率

t = time;
w = wiggle(freq, amp);
[w[0] * Math.exp(-decay * t), w[1] * Math.exp(-decay * t)]


*循環擺動

創建一個在指定時間內循環的 wiggle 效果。這個表達式應該實現的是:在指定的時間段內(secondsToLoop),生成一個平滑的隨機抖動,然後循環這個效果。

raw-image


frequency = 2; // 每秒擺動次數
amplitude = 40; // 擺動的像素數量
secondsToLoop = 3; // 循環時間(以秒為單位)

t = time % secondsToLoop;
wiggle1 = wiggle(frequency, amplitude, 1, 0.5, t);
wiggle2 = wiggle(frequency, amplitude, 1, 0.5, t - secondsToLoop);
linear(t, 0, secondsToLoop, wiggle1, wiggle2)




raw-image


frequency 和 amplitude 定義了 wiggle 的頻率和幅度。

  • secondsToLoop 定義了循環的時間段。
  • t = time % secondsToLoop 計算當前時間在循環周期內的位置,確保 t 在 0 和 secondsToLoop 之間。
  • wiggle1 和 wiggle2 創建了兩個 wiggle 效果,分別對應當前循環周期的開始和結束時的抖動。
  • linear(t, 0, secondsToLoop, wiggle1, wiggle2) 使用線性插值在 wiggle1 和 wiggle2 之間創建平滑過渡,實現循環效果。

這樣可以確保你的 wiggle 效果在每個 secondsToLoop 週期內循環,創造出平滑的循環動畫。


原始貼文:https://www.jan1lab.com/blog/jan1-ae-expressionwiggle

JAN1 動畫實驗室,專業創造角色IP,包括動畫、漫畫、遊戲等不同領域。我們致力於創造有趣、充滿魅力的角色,並透過精湛的技藝,將這些角色帶入不同的媒體平台,打造出具有廣泛影響力的IP。 https://www.jan1lab.com/
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
JAN1 LAB 動畫實驗室 的其他內容
AI故事館NFT奇幻世界是一個完美結合了科技、藝術和故事的新領域。每個NFT代表著一個獨特的夢境,等待著讀者進入,一同編寫屬於自己的奇幻童話。在未來,AI故事館將為每個主題開發完整的視聽故事,結合聲音、視覺效果和音樂,帶來更豐富、更情感豐富的冒險體驗。想要體驗更多嗎?歡迎參觀原始貼文獲取更多詳情。
AI故事館NFT奇幻世界是一個完美結合了科技、藝術和故事的新領域。每個NFT代表著一個獨特的夢境,等待著讀者進入,一同編寫屬於自己的奇幻童話。在未來,AI故事館將為每個主題開發完整的視聽故事,結合聲音、視覺效果和音樂,帶來更豐富、更情感豐富的冒險體驗。想要體驗更多嗎?歡迎參觀原始貼文獲取更多詳情。
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
獨白或台詞,是人物說的話。除了這之外,人物的各種動作與表情被稱為「小動作」。
Thumbnail
Ae 小技巧:CC Bend It 彎曲 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
Ae 小技巧:宣紙噪點+抽幀效果 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
Ae 小技巧:Wiggle Paths 手繪感 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
彈性習慣是一種適應生活波動的方式,可以讓目標更容易達成。透過設定迷你目標、進階目標、和卓越目標,以及垂直和水平彈性的擴展,可以更有效地培養習慣,並更有效分配資源和時間。
Thumbnail
蜜柑公子為大家分享這個「動態反思解說技巧」,希望可以幫助大家在生活中運用。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
獨白或台詞,是人物說的話。除了這之外,人物的各種動作與表情被稱為「小動作」。
Thumbnail
Ae 小技巧:CC Bend It 彎曲 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
Ae 小技巧:宣紙噪點+抽幀效果 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
Ae 小技巧:Wiggle Paths 手繪感 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
彈性習慣是一種適應生活波動的方式,可以讓目標更容易達成。透過設定迷你目標、進階目標、和卓越目標,以及垂直和水平彈性的擴展,可以更有效地培養習慣,並更有效分配資源和時間。
Thumbnail
蜜柑公子為大家分享這個「動態反思解說技巧」,希望可以幫助大家在生活中運用。