Hi,這次AE技巧分享的關(guān)鍵詞是“延遲”。實現(xiàn)延遲方法各種各樣,最簡單粗暴的辦法就是通過錯幀來實現(xiàn)延遲效果,而在這里我想分享另一種我覺得更高效,更“科學(xué)”的辦法。
先用一個小案例來幫助我說明,如下圖,如果要藍色小球跟著紫色小球運動,并帶有一定的延遲,你會怎么做呢?
- 利用錯幀的辦法來實現(xiàn),雖然簡易,但是最大的問題是,到了后面動畫越來越復(fù)雜,只要你每次修改就相當于每次都重頭做一遍,非常不科學(xué),也容易出問題,如下圖:
- 通過表達式語句實現(xiàn)延遲動畫
- 首先我們先來認識一下這個語句“valueAtTime(t)”。下面是官方說明文檔給出的定義:
- 返回類型:數(shù)值或數(shù)組。參數(shù)類型:t是數(shù)值。返回屬性在指定時間(以秒為單位)的值。
- 不難理解,其作用就是返回某一時刻的值。那么我們應(yīng)該怎么運用它呢?我們可以在表達式庫中隨時調(diào)用它:
- 先舉一個例子:如兩個小球動畫,先設(shè)置好“ball3”的位移多關(guān)鍵幀,然后分別點開“ball3”和“ball1”的位置屬性,如下圖:
- 然后把“ball1”都位置屬性鏈接到“ball3”到位置屬性上(此步的具體操作可以參照我上一篇Ae文章),如下圖:
- 做好位置屬性的鏈接后,最關(guān)鍵的一步,在表達式窗口“thisComp.layer("ball3").transform.position”后面加上“.valueAtTime(time-0.04)”(注意他們之間有個小點點“.”,可以簡單把這個點理解為“的”)。此時如下圖:
- 此時“ball1”的完整表達式應(yīng)該是這樣的“thisComp.layer("ball3").transform.position.valueAtTime(time-0.04)”,用大白話翻譯一下,應(yīng)該是這樣的:“這個合成的’ball3’圖層此刻延遲0.04秒的返回值”,簡單一句話,“每次返回ball3延遲了0.04秒的值出來”。效果如下圖:
- 以同樣的方法,再添加幾個球并設(shè)置不同的延遲時間的效果如下:
- 所有藍色小球都是鏈接紫色小球,完全重復(fù)紫色小球的動畫,因此你可以隨時隨地的改變紫色小球的動畫;想改變延遲時間,只需valueAtTime(time-x),x是你想要的延遲的時間,單位為秒。這樣就可以一勞永逸啦!如下圖:
- 利用“空對象”達到隨心所欲的鏈接
- 直接的屬性對屬性鏈接,子圖層會被“完全”到父圖層,就想上面的演示,所有小球最終都會重疊在一起。
- 所以我還是利用一個“空對象”,把它的位置屬性鏈接到目標圖層的位置屬性,之后再把要跟隨的圖層做個圖層子父級鏈接到空物體上。如下圖:
- 當然只要你理解了“valueAtTime”,你還可以把它用在其他屬性上面,如縮放、透明等等。如下圖:
- 就是這么簡單實用,即學(xué)即用的延遲技巧,你學(xué)會了嗎?
表情
添加圖片
發(fā)表評論