更新於 2024/07/17閱讀時間約 3 分鐘

在After Effects中使用表達式為圖層添加延遲效果

raw-image

在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(...) 將這個位置轉換回父層的合成空間,實現延遲效果。


  1. 選擇要應用表達式的層:
    • 在 After Effects 中選擇你希望添加延遲效果的子層(這些層必須有一個父層)。
  2. 打開位置屬性:
    • 按 P 鍵顯示位置(Position)屬性。
  3. 打開表達式編輯器:
    • 按住 Alt 鍵(Windows)或 Option 鍵(Mac),然後點擊位置屬性旁邊的碼錶圖標,打開表達式編輯器。
  4. 粘貼表達式:
    • 將上述增加索引延遲的表達式粘貼到表達式編輯器中。
  5. 調整參數並預覽動畫:
    • 根據需要調整 delay 的值,然後播放時間軸以檢查延遲效果。

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

可應用在用途 舉例:

  • 鏈條效果:可以將多個子層設置不同的延遲時間,使它們依次跟隨父層移動,形成一個鏈條效果。
  • 拖尾效果:可以使一個物體在移動時產生拖尾,增加動畫的動態感。
  • 按序運動:可以創建一組物體按順序依次運動的效果,常用於展現物體的連續動作。

這個表達式能幫助你在 After Effects 中創建更加豐富和生動的動畫效果,特別適合需要按順序延遲的場景。希望這些說明對你有所幫助!


原始貼文:https://www.jan1lab.com/blog/jan1-ae-delaying-a-layer-relative

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.