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