在After Effects使用表達式延遲圖層相對於其父圖層的動作,表達式可根據層的索引相對於其父層的索引來計算延遲時間,並應用到層的位置屬性上。這可以用來創建連續的延遲效果,使每個層根據其索引值產生不同的延遲,形成鏈條效應。
var delay = 5;
var multiplyDelay = delay * (index - parent.index);
parent.fromComp(toComp(anchorPoint, time - framesToTime(multiplyDelay)));
設置延遲時間:
- var delay = 5; 設置基本的延遲時間為5幀。你可以根據需要調整這個值以改變延遲的長度。
計算乘法延遲:
- var multiplyDelay = delay * (index - parent.index); 計算每個層的具體延遲時間。這個公式根據每個層的索引和父層的索引來調整延遲時間,使每個子層相對於其父層產生不同的延遲。
- index 是當前層的索引。
- parent.index 是父層的索引。
應用延遲位置:
- parent.fromComp(toComp(anchorPoint, time - framesToTime(multiplyDelay))); 使用計算出的延遲時間來偏移層的位置。
- toComp(anchorPoint, time - framesToTime(multiplyDelay)) 將錨點位置轉換到合成空間,在當前時間減去延遲時間後的位置。
- parent.fromComp(...) 將這個位置轉換回父層的合成空間,實現延遲效果。
- 選擇要應用表達式的層:
- 在 After Effects 中選擇你希望添加延遲效果的子層(這些層必須有一個父層)。
- 打開位置屬性:
- 打開表達式編輯器:
- 按住 Alt 鍵(Windows)或 Option 鍵(Mac),然後點擊位置屬性旁邊的碼錶圖標,打開表達式編輯器。
- 粘貼表達式:
- 調整參數並預覽動畫:
- 根據需要調整 delay 的值,然後播放時間軸以檢查延遲效果。
------------------------------------------------------------------------------------
可應用在用途 舉例:
- 鏈條效果:可以將多個子層設置不同的延遲時間,使它們依次跟隨父層移動,形成一個鏈條效果。
- 拖尾效果:可以使一個物體在移動時產生拖尾,增加動畫的動態感。
- 按序運動:可以創建一組物體按順序依次運動的效果,常用於展現物體的連續動作。
這個表達式能幫助你在 After Effects 中創建更加豐富和生動的動畫效果,特別適合需要按順序延遲的場景。希望這些說明對你有所幫助!
原始貼文:https://www.jan1lab.com/blog/jan1-ae-delaying-a-layer-relative