宣傳片制作公司制作LOGO上廣傳媒樣片
企業宣傳片制作拍攝 公司專題片 總結片電視廣告片北京制作城市形象宣傳片 城市旅游形象片 城市招商形象片 景區宣傳片微電影 網絡短片3D動畫 純三維立體眼鏡動畫專業航拍 無人機成功案例作品樣片公司簡介

AE表達式新手入門免坑提示

之前開始學習AE,后來想嘗試用ae表達式做個動畫,這主要是受jking(@驚嘆號設計)的教程影響;艘惶鞎r間,終于熬出這么一個小動畫:

 

其中用到的知識點包括操控點和表達式。操控點沒什么好說,就是釘釘子嘛,但是表達式很有意思,所以我總結了幾個初次接觸表達式的新手可能會遇到的問題,也是我掉過的坑(往事如煙):

一、剛使用ae表達式會遇到很多一時無法理解的“術語”

1)對象(object):也叫物體或者物件,代表世界萬物,一切皆為對象。在AE里,合成、圖層、導入的素材或者路徑形狀等等,他們都是對象。

2)屬性:例如人的身高、體重等都是人的屬性。在ae里就指對象的position、scale、rotation等等,每個屬性都會有一個值。要注意的是對象的屬性也是對象,所以屬性也會有自己的屬性~(好復雜T T),例如某合成的position屬性又具有兩個屬性分別是x和y。

3)方法:指對象可以做什么或者有什么功能,例如人有一個“方法”叫做“吃飯”,使用這個“方法”就可以補充能量。同樣在ae里所有“合成”都有一個方法叫“layer”,可以找到自己內部的某一個圖層。

4)參數:前面說到人有一個“方法”叫“吃飯”,使用這個“方法”就可以補充能量,但是天下沒有免費的午餐,要調用這個方法的前提是得有飯,這個“飯”就是參數。同樣在ae里我們調用一個“方法”通常需要傳遞一個“參數”,比如上面提到的“layer”方法,調用時需要傳遞圖層名,類似:

thisComp.layer("layer_name");

其中thisComp指當前合成,layer_name是要調用的圖層的名字,也就是方法所要求的參數。不過也不是所有方法都需要參數。

5)返回值:基本上所有“方法”運行完都會給我們一個結果,就像你吃完飯會覺得飽了或者還不夠,女人分娩會返回一個男孩或者女孩或者其他情況。

6)數組和索引:例子

array = [a,b,c];

這是一個名叫array的對象,因為它的值是形如 [x,y...] 的造型,所以他是一個數組,而且這個數組包含3個元素分別是a,b,c。如果我們要拿到array內部的元素a的值,就需要知道a的“索引”,現在我們可以看到a是array的第一個值,所以他的索引是0(沒錯索引都是從0開始的。,所以

array_a = array[0];

這樣就將array內部元素a的值賦給了array_a對象~

好了,還有更多其他術語什么的對新手來說應該還不需要,我們只了解上面幾個應該就夠了。最后來看看下面這個語句,如果能說出發生了什么那應該就沒問題了:

thisComp.layer(1).position.valueAtTime(time+2);

對象“thisComp”調用方法“layer”,傳入的參數為圖層的索引:1(指合成里的第二個圖層)。“layer”方法返回了圖層2之后,獲取圖層2的屬性position,然后調用position對象的valueAtTime方法,傳入的參數為“time+2”。其中time是全局變量,指當前時間(我不解析全局和變量的概念了,不然沒完沒了,有興趣可自行百度)。最后valueAtTime方法返回position在當前時間后4秒的值[x,y]。

二、屬性的維度問題

像上面的例子,position 的值是一個由兩個元素組成的數組,分別是x和y坐標的數值,而不透明度opacity的值只是一個數值,所以相互之間不能直接賦值,不然會報錯。在ae表達式里稱這種情況為維度不同,以下是各種屬性的維度參考:

jking的這篇文章末尾也有提到,可惜當時我還沒看到這里,而且自己的感悟比較遲鈍所以還是被坑了一下下。jking有提到1維屬性如何賦值給2維屬性,但是反過來呢?如果你已經理解前面對“數組”概念的解析那么應該已經有答案,對就是這樣:

opacity = scale[0];//2維屬性賦值給1維屬性 position = [opacity,opacity];//1維屬性賦值給2維屬性

通過索引0可以獲得數組scale的第一個元素“x”(寬度縮放值),這個值是一維的,所以可以賦值給一維的opacity屬性,再將opacity屬性的值分別賦值給position數組的兩個元素。順便一提,“//”號代表注釋,后面的內容都不會被編譯。

三、方法的多態問題

“多態”是什么意思呢?聽名字應該能大概猜到吧,就是指某個方法在不同的調用環境下會有不同的效果。具體我們以wiggle方法為例子說一下。

wiggle這個函數似乎經常用到,因為能產生隨機抖動。關于wiggle的用法和各個參數的含義其實認真參閱官方文檔應該沒問題,但是我這里還是多說幾句。首先通常我們只用wiggle的前兩個參數:

v = wiggle(5, 10);

上面表示wiggle的抖動頻率為5,幅度為10。那么問題來了,wiggle的返回值是一維的還是二維的?答案是要看這個表達式用在哪里。什么意思?請看例子:

圖1:

圖2:

上面兩個表達式都是對的,由于圖1表達式在二維屬性position中調用,所以表達式里的wiggle(3,50) 相當于position.wiggle(3,50),而當wiggle被一個二維屬性調用時,他返回的結果也是一個二維的值,形如[x,y],也就是一個擁有兩個元素的數組,所以可以直接賦給position。

而圖2中,wiggle是被一個一維屬性調用的,所以他返回的結果也是一個一維的值,所以也可以直接賦值給一維屬性opacity。

沒錯這就是wiggle的多態表現~

再看圖3:

可以看到那個黃色三角形表示這段表達式是錯誤的,因為雖然這段表達式是寫在一維的opacity屬性中,但是wiggle方法卻是由二維的position屬性調用的。所以返回值也是二維的,不能直接賦值給opacity屬性。只要改成下面這樣就可以了~:

v = transform.position.wiggle(3,50)[0]; //加上“[0]”表示wiggle返回數組的第一個元素的值 v

所以大家以后使用wiggle時一定要分清楚wiggle是由什么維度的屬性調用的,不然一不小心就會犯不同緯度的屬性互相賦值的錯誤。當然wiggle只是一個例子,其他方法也可能會有多態性,典型如valueAtTime等等(抱歉我認識的方法還比較少。。),相信大家可以舉一反三。

最后給大家一個思考,我想給position調用wiggle產生抖動,但是只想在x軸方向產生強烈抖動,而y軸方向只要輕微抖動就可以了,那我的表達式應該怎么寫?


         
公眾微信號:qiyexuanchuanpian      導演微信號:chinatvc

新聞

相關熱詞搜索:新手入門 表達式

上一篇:常用手勢小動畫庫 for AE
下一篇:填充、描邊和修剪路徑—用AE做MG圖形動畫筆記摘要

 
企業宣傳片業務列表
企業宣傳片>>
企業宣傳片攝制
公司專題片制作
產品教學片拍攝
展會宣傳片制作
高清宣傳片制作
企業形象宣傳片
公司年會晚會片
廣告片>>
電視廣告片攝制
公司廣告片攝制
廣告片策劃制作
醫藥廣告片制作
TVC 形象廣告片
影視廣告片下載
播客閃客廣告片
城市宣傳片>>
城市宣傳片拍攝
旅游宣傳片制作
規劃宣傳片拍攝
地產宣傳片攝制
影視后期大制作
立體3D拍攝制作
Flash動畫制作
三維動畫>>
三維動畫制作
建筑動畫制作
投標動畫制作
全景仿真制作
虛擬現實動畫
Flash2D動畫
房地產3D動畫
攝像攝影>>
最專業會議攝像攝影
央視攝像師攝像設備
年會攝像年會宣傳片
高清宣傳片制作公司
北京廣告片制作公司
大疆無人機專業航拍
北京宣傳片制作公司
年終總結片>>
年會視頻制作
公司年會視頻
年會開場視頻
開場視頻制作
專業年會拍攝
年終總結匯報
央視晚會拍攝
微電影拍攝制作>>
微電影廣告植入
微電影策劃拍攝
微電影投資制作
微電影作品下載
電視頻道包裝
欄目包裝策劃

招聘影視精英
企業宣傳片LOGO   版權所有上廣傳媒(北京)有限公司
地址:北京市朝陽區盧卡新天地4號樓 郵編:100101
電話:010-50846768 / 010-50846769
網址:www.ChinaTVC.com www.8229788.live chinaosx.com
     www.macosx.com.cn www.chinamv.com.cn www.chinaosx.cn
     www.pcmac.com.cn www.easypcmac.com www.TVCchina.com.cn      www.macfans.cn www.macx.com.cn www.macgame.com.cn
京ICP備05032342號
 
山西快乐10分钟走势图 赣州期货配资公司怎么样 福建体彩36选7开奖走势图 彩票高手论坛精选资料 福建36选7最近一期开奖结果 佳永配资 江西时时彩全天推荐 江苏11选5一定牛遗漏数据 内蒙快3怎么下载 排列7开奖号码今天开 股票下跌放量