AE基礎(chǔ)表達式-使用time表達式制作時鐘

表達式概述
很多學習AE的小伙伴都對表達式感到非常的頭疼,其實大可不必,AE表達式就是一小段代碼,與腳本類似,是基于 JavaScript 編寫的,很多時候使用表達式可以更方便快捷的制作動畫,但是使用AE一般不需要深入了解 JavaScript,只需要知道 AE 編寫表達式的規(guī)則就可以快速上手進行動畫制作。
表達式的創(chuàng)建方法
和創(chuàng)建關(guān)鍵幀一樣,表達式也是創(chuàng)建在屬性上,選擇要創(chuàng)建表達式的屬性,執(zhí)行【動畫】-【添加表達式】命令(Ctrl+Shift+ =),就可以激活表達式窗口,當然最常用的快捷方式是按住【Alt】鍵的同時單擊屬性前面的碼表,比如針對圖層的【旋轉(zhuǎn)】屬性,按住【Alt】鍵的同時單擊【旋轉(zhuǎn)】屬性前面的碼表,在打開的輸入框中就可以輸入表達式。

案例演示
這里以一個基礎(chǔ)的time表達式來講解表達式的用法,time就是時間,為屬性添加time表達式就代表著此屬性會隨著時間而一直變化,還是以【旋轉(zhuǎn)】屬性為例說明,為圖層的【旋轉(zhuǎn)】屬性添加time表達式。

按空格播放預覽,可以看到圖層在并沒有創(chuàng)建關(guān)鍵幀的情況下會開始自己旋轉(zhuǎn),因為【旋轉(zhuǎn)】屬性添加time表達式就代表著【旋轉(zhuǎn)】的屬性值隨著時間變化。
可以看到指針在0秒和2秒時,【旋轉(zhuǎn)】的屬性值分別是0°和2°,所以【旋轉(zhuǎn)】屬性添加上time表達式后就代表著圖層會按照1秒鐘旋轉(zhuǎn)1°的速度進行旋轉(zhuǎn)。


根據(jù)此來制作一個鐘表的動畫。

繪制一個鐘表,繪制方法這里不再細說,選擇分針,添加表達式time*20。

之所以是time*20而不是time,因為1秒針旋轉(zhuǎn)1°的速度太慢了,不方便觀察,乘以20的意思就是旋轉(zhuǎn)速度增加20倍,也就是1秒旋轉(zhuǎn)20°。
按住【Alt】鍵的同時單擊秒針的【旋轉(zhuǎn)】屬性開啟表達式輸入框,這里就不用輸入了,直接使用表達式表達式關(guān)聯(lián)器拖曳到分針的【旋轉(zhuǎn)】屬性上,會自動創(chuàng)建好表達式。


thisComp.layer(“分針”).transform.rotation的意思就是“這個合成的“分針”圖層的旋轉(zhuǎn)屬性”,也就是說秒針的旋轉(zhuǎn)屬性現(xiàn)在是繼承了分針的旋轉(zhuǎn)屬性,播放動畫,可以看到秒針和分針的旋轉(zhuǎn)速度是一樣的,但是現(xiàn)實中我們知道秒針的速度是分針的60倍,所以還需要將現(xiàn)在的表達式整體乘以60。

同樣的操作,將時針的【旋轉(zhuǎn)】屬性也通過表達式關(guān)聯(lián)器連接到分針的【旋轉(zhuǎn)】屬性上,然后整體除以12就得到了時針的正確旋轉(zhuǎn)速度。

至此鐘表的動畫就制作完成了,三個指針的旋轉(zhuǎn)速度比例就是正確的,當然如果想要完全按照現(xiàn)實中的鐘表速度制作動畫也完全可以,將秒針的表達式改成time*6,因為正常鐘表秒針60秒會轉(zhuǎn)動360°,而time表示60秒旋轉(zhuǎn)60°,所以要乘以6,那么分針和時針的表達式就可以按照上述所講的在秒針的基礎(chǔ)上除以相應的倍數(shù)就行了。
這就是time表達式的基礎(chǔ)應用,學到的小伙伴別忘了點個關(guān)注。