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