目錄 其他材料
|
插值方法:線性liner(),平滑ease() 我們已經(jīng)學(xué)習(xí)了怎樣利用表達(dá)式來縮放參數(shù)值的范圍,只需要簡單的乘除運(yùn)算就可以了---例如將旋轉(zhuǎn)參數(shù)范圍(0~360)縮放到不透明度參數(shù)范圍(0~100),但是這不是唯一的方法,AE提供了一套內(nèi)置的插值算法進(jìn)行參數(shù)之間的轉(zhuǎn)換: linear(t, t_min, t_max, value1, value2) 這些語句看起來很復(fù)雜,因?yàn)檎Z句中包含很多參數(shù): t 當(dāng)前參數(shù),例如旋轉(zhuǎn)參數(shù),不透明度參數(shù)或者是你所選擇的其他變量,該參數(shù)必須是一維的,該參數(shù)為必選參數(shù)。 t_min 當(dāng)前參數(shù)范圍的下限,該參數(shù)為可選參數(shù),如果參數(shù)范圍的下限或上限被忽略掉了,那么AE會(huì)將參數(shù)的范圍定義在0~1之間。 t_max 當(dāng)前參數(shù)范圍的上限,該參數(shù)為可選參數(shù)。 value1 目標(biāo)參數(shù)范圍下限,當(dāng)t≤t_min時(shí),表達(dá)式返回該值,該值幾可以是一維標(biāo)量也可以是二維向量,與value1的維數(shù)相同,該參數(shù)為 必選參數(shù)。 value2 目標(biāo)參數(shù)范圍上限,當(dāng)t≥t_max時(shí),表達(dá)式返回該值,該值幾可以是一維標(biāo)量也可以是二維向量,但是如果該值與value1 的維數(shù) 不同,AE會(huì)自動(dòng)以value1 值為標(biāo)準(zhǔn)進(jìn)行匹配,該參數(shù)為必選參數(shù)。 通過下面的例子讓我們來了解一下該語句的含義: linear(time, 0, 5, 0, 360); 通過上面的學(xué)習(xí),我們應(yīng)該將這個(gè)語句理解為,時(shí)間的變化范圍是0到5,目標(biāo)參數(shù)的范圍是0到360,整個(gè)變化過程是線性的。如果將該表達(dá)式應(yīng)用到圖層的旋轉(zhuǎn)屬性上,那么你會(huì)發(fā)現(xiàn)圖層在前5秒內(nèi)完成了一周的旋轉(zhuǎn)。 應(yīng)用該表達(dá)式后,圖層在第五秒停止旋轉(zhuǎn),這就是與我們前面介紹的直接手寫公式time/5*360最大的區(qū)別,插值算法自動(dòng)在當(dāng)前參數(shù)與目標(biāo)參數(shù)之間采樣范圍極值。 另外一個(gè)區(qū)別就是你可以設(shè)置不同的插值算法:ease(),ease_in()和ease_out()。這些插值算法與同名的關(guān)鍵幀插值算法(通過關(guān)鍵幀助手菜單設(shè)置)的作用相同。利用這些插值算法可以為數(shù)值轉(zhuǎn)換計(jì)算提供一個(gè)更自然的運(yùn)算過程,從而得到更流暢的變化效果,僅僅使用前面介紹的手寫公式是做不到這一點(diǎn)的。 看看下面的動(dòng)畫,體會(huì)一下不同的插值算法(所有的圖層使用相同的參數(shù),只是插值算法不一樣): 示例: 滾動(dòng)欄 現(xiàn)在讓我們使用這種簡單的方法來快速完成一個(gè)例子,我們將制作一個(gè)滾動(dòng)欄的動(dòng)畫。首先我們需要建立兩個(gè)圖層,一個(gè)文本區(qū)域圖層和一個(gè)滾動(dòng)欄圖層。我們要為文本圖層的軸心點(diǎn)加入表達(dá)式,因?yàn)檫@樣可以保證我們可以操縱圖層的位置屬性(當(dāng)圖層滾動(dòng)時(shí)位置屬性仍然不會(huì)改變)。 記住一定要在一個(gè)方向上控制軸心點(diǎn)以得到正確的滾動(dòng)效果,在這個(gè)例子中我們將對(duì)軸心點(diǎn)做垂直方向的運(yùn)動(dòng)以使文本區(qū)在合成窗口中上下滾動(dòng)。為了使?jié)L動(dòng)的范圍最大,也就是文本區(qū)域全部實(shí)現(xiàn)滾動(dòng),我們將軸心點(diǎn)的Y值范圍設(shè)置為0到圖層的高度,也就是我們的目標(biāo)參數(shù)值為: value1=0 至于當(dāng)前參數(shù)范圍,我們將其設(shè)置在到合成窗口的高度之間,我們需要在頂部與底部空出幾行以得到更好的效果。假如合成窗口的尺寸為320×240,那么就將當(dāng)前參數(shù)范圍設(shè)置在25至215之間,當(dāng)滾動(dòng)欄在Y軸上從25運(yùn)動(dòng)到215時(shí),文本區(qū)將開始滾動(dòng)。 t_min=20 當(dāng)然,當(dāng)前參數(shù)就是滾動(dòng)欄的Y軸坐標(biāo): t=this_comp.layer("Scroll").position[1] 將幾條語句綜合起來,加以恰當(dāng)?shù)淖兞棵Q,我們就得到了下面的表達(dá)式: scroll_y=this_comp.layer("Scroll").position[1]; 最后我們將scrolled_amount的值放到一個(gè)二維數(shù)組中,讓文本圖層的軸心點(diǎn)X軸坐標(biāo)保持不變,最終的表達(dá)式為: scroll_y=this_comp.layer("Scroll").position[1]; 最后效果如下 (只為滾動(dòng)欄Y軸的位置屬性設(shè)置關(guān)鍵幀): 上面的表達(dá)式只要稍加改動(dòng)就可以實(shí)現(xiàn)水平滾動(dòng)的效果,如果將該表達(dá)式應(yīng)用到3D圖層的旋轉(zhuǎn)屬性上,就可以制作出三維滾動(dòng)旋轉(zhuǎn)效果:
|
所有內(nèi)容版權(quán)歸JJ Gifford.所有,翻譯權(quán)歸CG頻道所有,違者必糾。