轉載自:新片場網
許多小夥伴在學習AE的過程中,表達式是一個避不開的學習點,有些人聽到這個知識點會完全沒有概念,下面會來告訴大家如何學習AE表達式,以及掌握一些最基本的表達式知識和應用。
在這裡要注意一點,由于有些同學使用中文版本的AE軟件,有時候會出現打開表達式的錯誤,在這裡建議大家學習使用AE軟件的時候,選擇英文版去學習和使用。
為什麼建議大家用英文版:
1、中文翻譯不準确(很多特效插件翻譯很不精确,不能正确表達其含義)
2、中文版AE會因為某些代碼,發生不可預知的錯誤
3、很多專業教程都是英文版(國外教程)
4、業界基本用的英文版,以後工作中,對接方便。
一、什麼是表達式:
AE表達式是直接與源代碼對話的一種語言,或者更簡單的說,表達式是我們通過一些代碼,去實現參數的轉移、計算,幫助我們更有效率的去控制某個參數的變化,達到關鍵幀比較難實現的效果。
二、什麼時候我們需要用到表達式
1 當我們想使用一個參數的數值去控制另一個參數的數值時,我們可以使用表達式将數值賦予另一個想要控制的參數上。
2 在使用關鍵幀去制作一個視頻效果的時候,容易卡頓且效率不高,這時候我們可以使用表達式去控制。如果要做一個回彈的效果,單純自己去K幀效果會偏低且效果不容易做好,通過表達式效率會大大提高。
3 如果你想使用一個數值對多個數值進行控制或者進行計算後賦值的時候,可以使用表達式去制作,不需要每個數值都單獨去做關鍵幀的動畫。
三、表達式怎麼用
AE中的表達式怎麼使用呢?
第一,在電腦上打開AE軟件,進入到工作界面中,點擊【新建】,建立一個AE項目。
第二,進入到AE工作窗口,雙擊素材面闆,找到并打開想要添加表達式的圖片、視頻。
第三,将素材(圖片、視頻)直接往下拖拽到下方圖層面闆,松開鼠标左鍵,将自動新建一個合成。
點擊圖層前面的三角符号這時,可以看到【變換】,點擊打開前面的三角符号。
我們将可以看到變換下方錨點、位置、縮放、旋轉、不透明度5個功能選項,按住鍵盤Alt鍵,鼠标左鍵單擊所在功能前面的碼表。如下圖所示,我們就打開了該功能所在的表達式窗口,直接編輯表達式即可。
四、AE中常用表達式
下面分享幾個AE中實用的表達式,給大家進行拆解分析,希望能幫助到你喲!
1.wiggle抖動表達式
wiggle(a,b)
a代表震動的頻率
b代表震動的幅度
此案例是直接加在的position位置屬性上
2.循環表達式
loopOut(type = "cycle", numKeyframes = 0)
Cycle是循環的方式
當然還有cycle、pingpong、offset、continue其他的大家可以自己嘗試。
numkeyframes是循環的段數:
0所有關鍵幀循環
1代表隻循環末尾的一段關鍵幀
2就是末尾兩段
3.彈性表達式
amp = .1;
freq = 3.0;
decay =6.0;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){n--;}
}
if (n == 0){ t = 0;}
else{t = time - key(n).time;}
if (n > 0){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}
else{value}
amp代表彈力大小 數值越大 彈性越強
freq代表頻率 數值越大 頻率越快
decay代表阻力 功能與彈力相反
4.手寫光标表達式
// 每秒顯示字符
charPerSec = 2;
// 可自定義提示符号,預設為 "|"
prompt = [ "|", " " ];
// 目前打字顯示位置
typePos= Math.round( time * charPerSec );
i = Math.round(time % 1);
text.sourceText = substr( 0, typePos) prompt[i];
ae表達式利用得當,既省力又有趣。功能表達式已标注 大家可以自行修改,可以自己試試。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!