實用AE表達式推薦(二)
六、LOOPIN&LOOPOUT
1、介紹:讓關鍵幀動畫循環下去的語言。
2、案例:如下圖,已經為圓形位置屬性設置好了四個關鍵幀動畫。
打開關鍵幀,選擇關鍵幀選項的最後一個控制項,調出常用表達式,選擇loopin,表達式自動生成。3、案例:接案例2,看一下關鍵幀類型type = "cycle",表達式會照原樣不斷循環關鍵幀動畫,表達式如下:
loopOut(type = "cycle", numKeyframes = 0)
loopOut(type = "pingpong", numKeyframes = 0)
loopOut(type = "pingpong", numKeyframes = 2)
七、LINEAR&EASE
1、介紹:動畫插值轉換計算方法
2、案例:如下圖,想要通過左邊滑桿上下運動精確控制右邊圓的旋轉。
在圓的旋轉屬性上打開表達式,並選擇常用表達式linear。
整體表達式顯示如下:linear(t, tMin, tMax, value1, value2)
這個表達式無法直接使用,需要定義相應的值。
t:需要綁定的對象的屬性值,直接可以使用拉索工具鏈接到控制按鈕的Y值屬性上。
tmin&tmax:定義屬性大小值範圍,也就是按鈕Y值在滑桿兩個端點位置Y的值。
value1&value2:定義轉換屬性的變動值,也就是本案例中該圓旋轉的角度範圍。
拉索工具鏈接t的值;移動按鈕到滑桿兩端,獲取位置Y的值,定義到表達式,並定義圓旋轉的範圍,整個表達式顯示如下:
t=thisComp.layer("button").transform.position[1]linear(t, 90, 641, 360, 0)
八、CLAMP
1、介紹:限定屬性的數值變動範圍。
2、案例:
接上一個項目,如果直接通過滑鼠上下拖動左邊按鈕,在位置X上可能會出現左右晃動移位,其次是Y軸上下沒有限制,按鈕能超出滑桿的頂端範圍,接下來就解決這個問題。
將按鈕圖層位右鍵分離為單獨尺寸,位置屬性x寫入關鍵幀,數值與原屬性值相同,表達式位置鎖定,保證按鈕在x軸位置保持固定數值,這樣直接拖動按鈕不會左右移位的情況。
3、案例:繼續處理按鈕Y值的上下限範圍,為Y屬性寫入如下表達式:
clamp(transform.yPosition,82,655)
表達式綁定後Y的變動範圍只在83~655之間,超出該範圍屬性值不再變動,也就是按鈕也始終控制在滑桿的兩個頂端範圍之間。
九、WIGGLE
1、介紹:超級常用的隨機晃動表達式。
2、案例:為圓形位置寫入表達式如下:
wiggle(5,100)
十、IF---ELSE
1、作用:判斷表達式,如果---否則---
2、案例: 在製作AE模板的時候需要為使用者提供自定義的選擇項,接案例九,為用戶提供自定義選擇抖動開關,選擇菜單欄-效果-表達式控制-複選框控制。
此時,點選複選框沒任何作用,其並沒有與圓形的屬性做表達式綁定;選擇的圓形旋轉屬性,寫入表達if(寫入狀態下使用拉索工具鏈接到效果控制項欄複選框屬性),整個表達式如下:if(effect("複選框控制")("複選框")==1)wiggle(5,50) else 0;
整個表達式的含義是:如果複選框==1(被選擇),則wiggle表達式起作用,否則0(無效果)
十一、LENTH
1、介紹:獲取字元屬性。
2、案例:如下圖,我們想要通過空文本層直接顯示出圓形1圓形2之間的距離。
選擇文本圖層源文本屬性,寫入表達式如下:a=thisComp.layer("cycle").transform.position[0]b=thisComp.layer("cycle 2").transform.position[0]length(a,b)
a和b分別使用拉索工具鏈接到兩個圓形位置的屬性X值,這樣文本層就可以即時獲取到兩個圓形的間距。
AE表達式系列
初見AE表達式 - 知乎專欄
推薦16個實用的AE表達式(一) - 知乎專欄推薦閱讀:
※AE的渲染與輸出技巧
※全面分析AE跟蹤系統(一)
※搞不懂的AE圖層混合模式
TAG:AdobeAfterEffects | AfterEffects特效 | 后期特效 |