環(huán)球快資訊:AE表達式筆記(自用防丟失)
書寫形式為逐級遞減,例如:
comp("目標合成").layer("目標層").effect("目標效果")("目標效果的一個參數(shù)")
“.”作為層與層之間的分隔符。
(資料圖片)
二、表達式賦值方式不透明度定義為80
transform.opacity=80 等價于 value=80 等價于 80;
二維數(shù)值使用“[,]”,三維四維類比二維;
可以使用父子級直接連接。
三、滑塊控制作用:類似于空對象,作為控制表達式的一個變量
例如:
wiggle(effect("滑塊控制")("滑塊"),effect("滑塊控制 2")("滑塊"))
第一個滑塊控制頻率,第二個滑塊控制幅度。
四、time表達式AE中時間變化有兩類:幀和秒,time表達式以秒為單位;
posterizeTime(framesPerSecond)?
抽幀表達式,每秒剩余幾幀,要求小于等于合成的幀率;
表示設置其他表達式運行環(huán)境,不能單獨使用,一般寫在表達式第一行;
例如:
posterizeTime(5);
random(20)
作用:每秒隨機變化5次。
valueAtTime()
返回屬性在指定時間的值,以秒為單位
例如:
thisComp.layer("黑色層").transform.opacity.valueAtTime(2)
作用:
表示“黑色層”的不透明度全部為2秒時候的數(shù)值。
五、wiggle表達式wiggle(freq 頻率,amp 幅度,octaves=1復雜度,amp_mult=5 幅值乘法,t=time 對應時間線);
特殊的一個例子(縮放等比變換)
方法一:
x=wiggle(2,5);
[x[0],x[0]]
[x,x]報錯的原因:定義的x=wiggle(2,5)為變量,沒有初始值,所以x[0]賦予初始值;
方法二:
新建一個滑塊作為等比控制,因為二維數(shù)值連接到一維父級默認為等比變化。
六、index表達式按照索引來賦值,表示元素在某一組排列中的位置;
例如:圖層在第一層index為1、效果下面的第二行index為2;
key(index)關(guān)鍵幀索引
例如:transform.position.key(1).value[0];
作用:獲取位置第一個關(guān)鍵幀x的坐標數(shù)值。
七、interpolation 差值函數(shù)linear(t,value1,value2)
當t≦0時,value1;
當0 當t≧1時,value2; linear(t,tMin,tMax,value1,value2) 類型一: linear(time,0,10,0,20) 表示時間從0秒增長到10秒,數(shù)值由0增長到20的變化; 類型二: linear(value,0,10,0,20) 表示變量value的數(shù)值從0變化為20,對應的原數(shù)值由0變化到20; ease基本與linear同理。 random() 返回0到1之間的隨機數(shù)值; random(maxValOrArray) 定義隨機變化的最大值,Array為數(shù)組; random(minValOrArray,maxValOrArray) 定義一個隨機變化的范圍; gausssrandom() 高斯隨機 百分之九十數(shù)值在范圍內(nèi),百分之十在范圍外; seedRandom(seed,timeless=false) 隨機種子 true表示隨機種子不隨時間變化,false表示隨機種子隨時間變換; noise(time) 在(-1,1)內(nèi)振動。 rgbToHsl(rgbaArray) 四維數(shù)組[R,G,B,A]且賦值在(0,1)范圍內(nèi); 只在(0,1)變化的原因:8bpc、16bpc、32bpc下的RGB范圍不同; 通常使用滑塊來進行控制,需要將滑塊下面的滑動范圍改為(0,1)。 loopOut(type=”cycle”,numKeyframes=0) 在最后一個關(guān)鍵幀后做循環(huán); tpye的類型: “cycle”表示周期循環(huán); “pingpong”表示鏡像效果往復運動; “offset”表示在一次循環(huán)結(jié)束后,下一次循環(huán)的第一個關(guān)鍵幀在最后一個關(guān)鍵幀處開始循環(huán); “continue”表示保持最后兩幀斜率不變向后延展,此種類型不需要添加“numKeyframes”; numKeyframes的含義: 選用幾個關(guān)鍵幀做為循環(huán)體; 當numKeyframes=0時表示全選,numKeyframes=1是以最后一個關(guān)鍵幀和前一個為循環(huán)體,numKeyframes=2時是以最后一個關(guān)鍵幀和前兩個關(guān)鍵幀為循環(huán)體; loopIn(type = "cycle", numKeyframes = 0) 在第一個關(guān)鍵幀前做循環(huán); loopOutDuration(type = "cycle", duration = 0) 以秒為基準做循環(huán),0代表全選,1代表最后一個關(guān)鍵幀前的一秒作為循環(huán)體。 thisComp.bgColor? 返回當前合成背景色; thisComp.numLayers? 返回當前合成的圖層數(shù); thisComp.duration返回合成持續(xù)時間(秒為單位); thisComp.frameduration返回幀持續(xù)時間(秒為單位); 例如: 合成為30fps,則thisComp.frameduration為1/30秒; AE表達式?jīng)]有直接獲取幀率的屬性,所以使用 1/thisComp.frameduration來表示; 例如: Math.floor((time/thisComp.frameduration)/8)表示每8幀改變一次。 inPoint、outPoint 圖層入點、出點所對應的時間,秒為單位; parent 獲取該圖層父級的屬性。 原理:將音頻的幅值轉(zhuǎn)化為關(guān)鍵幀形式(右鍵-關(guān)鍵幀輔助-將音頻轉(zhuǎn)化為關(guān)鍵幀); 轉(zhuǎn)化成的關(guān)鍵幀為每幀一個,可用timeToFrames和framesToTime來進行秒為單位和幀為單位表達式的運算。 數(shù)組的索引從0開始 例如:[x,y,z]? ?x索引值為0,y為1,z為2; 字符串轉(zhuǎn)變?yōu)閿?shù)字 字符串:插入成對的單引號或雙引號的任意字符,用于儲存和處理文本; Number(str)?其中字符串必須為純數(shù)字字符串; 數(shù)字轉(zhuǎn)換為字符串 String(num); typeof為檢測類型的函數(shù); 添加注釋 “//AE表達式”為單行注釋; “/*臉滾鍵盤 ABC*/”為多行注釋; smooth(width=.2,samples=5,t=time)? samples改變平滑度; 將焦距連接到圖層(3d攝像機) 圖層-攝像機-將焦距連接到圖層; 以后補充,繼續(xù)學st了