最少關鍵幀原則
這個原則是我在平時工作中總結出來的,“最少關鍵幀原則”。就是說在能完成同一動畫效果的前提下,我總是樂意用盡量少關鍵幀去實現。就好比上一篇文章提到的,利用表達式去剔除“多余的”關鍵幀,盡量由一個變量來主導其他變量。這樣做不僅後期修改起來得心應手,節奏上容易把控,而且整個文檔也非常簡練,看著心情愉快,效率自然更高。
linear表達式介紹&用法
子父鏈接,表達式屬性之間的鏈接都可以實現由一個變量去控制多個的變量。說到鏈接,不得不提到表達式“linear”,它的存在為我爭取了更多刷ui中國的時間,哈哈,就是說自從用“linear”,一口氣做了5個需求,不費勁,誰用誰知道啊!
同樣,我們先來看看官方是如何定義“linear”的:
插值方法(節選)
linear(t, value1, value2)
返回類型:數值或數組。
參數 t 通常是 time 或 value,但它也可以采用其他值。如果 t 是 time,則值之間的插值會在持續時間內發生。如果 t 是 value,則表達式會將一系列值映射到新系列值。
同樣我們可以在表達式庫中調用它:
通過官方簡單介紹你能明白“linear”是個什麼東西了嗎?如果你懂了,本教程到此結束。至少我當時查看的時候,以為adobe的中文版幫助文檔是直接拿英文版Google翻譯的。硬是沒看懂啊!?
經過九九八十一天發酵,我懂了!
其實它一點都不復雜,順著往下看相信大家都能學會。
我們主要來看看這個語句,linear(t, tMin, tMax, value1, value2)。上文官方定義中提到,如果 t 是 value,則表達式會將一系列值映射到新系列值。而我們恰好就要利用這個映射功能,還記得我們的標題嗎?“‘精確’控制多個變量”。
同樣拿一個小實例來幫助我們分析。
有A,B兩個圓,先對A圈的X軸方向上做位移關鍵幀動畫,A圈從128運動到670,如下圖:
接著我們點開B圓的X位置屬性(右鍵單獨尺寸),點開表達式窗口,將其關聯到A圓的X軸,如下圖:
緊接著,我們定義一個“Ax”並且讓 Ax=thisComp.layer("A圓").transform.xPosition;(注意“;”相當於句號,不要忘記了)。然後再調用“linear”表達式,並改變裡面的參數,具體如下圖:
Ax=thisComp.layer("A圓").transform.xPosition;
linear(Ax,128,670,128,420)
仔細觀察“linear”後頭括號中的數字,然後我們來感受一下“linear”的效果:
看到這裡我想大家都懂了吧,是不是so easy。什麼!?還不明白!
稍微改一下再看看:
Ax=thisComp.layer("A圓").transform.xPosition;
linear(Ax,128,300,128,620)
(我有先把A圓的位移動畫改成了128到300哦,如果不改的話,大家可以想象一下是怎麼樣的一種情景。)
通過上面的實例,我們不難看出“linear”的“映射”是怎麼工作的。簡單的解釋“linear(Ax,128,300,128,620)”,當Ax從128到300變化時,映射出128到620的值;即Ax=128時輸出128,Ax=300時輸出620,輸出的對應值就作用到了B圓的X軸屬性上了。而我們又把A圓的x軸位置屬性定義給了“Ax”,所以就相當於把A圓的x軸映射給了B圓的X軸,至於具體的變化范圍,就看你括號裡的參數怎麼定義了。
需要注意的是映射的對象不是一對一,可以一對多;也不必需要X軸映射X軸,你可以X軸映射Y軸,甚至X軸映射透明度,縮放,旋轉等等。具體怎麼個射法還是得看你的tiwei,是體力,不是,是能力。總之“linear”會讓你動畫中的元素關系更加密切,而不是孤立的個體。
就是這麼簡單實用,即學即用的映射技巧,你學會了嗎?
簡單示范&思路分享
上面實例中A圓是主導對象,由他的運動來影響B圓的運動。在很多情況下我需要選對主導對象,因為是由主導對象發起動畫,一般關鍵幀也是打在它身上。所以要根據具體情況來分析,選對主導對象對你後面的工作影響重大。一般我都是選跟手指操作的關系最密切的對象作為主導。
下面簡單示范和分析一下我做的一些小實例,由於篇幅原因我不對細節做具體分析,方法也因人而異,旨在分享哈。
例1:
思路:banner的高度去映射背景圖的縮放;
例2:
思路:側邊欄的X軸去映射首頁的縮放&圓角&灰度;
例3:
思路:頂層的Y軸映射自己的縮放&圓角,同時映射第2,3層的y軸&縮放&圓角;
例4:
思路:藍圓映射多邊形的大小;綠圓映射多邊形的圓度;黃圓映射背景顏色等等;
例5:
思路:旋鈕的旋轉映射數字從0變化到10&背景顏色&刻度條等等;
例6:
思路:第一個圓的縮放映射其他圓的縮放&投影&腳標的縮放等等;
實例到此結束~
希望能給大家一下小小的啟發哈~
最後
大家想知道這個抽風圓點怎麼實現嗎?可是篇幅實在太長了,請聽下回分解吧。