亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        After Effects“模塊化”學(xué)習(xí)策略之表達式的應(yīng)用

        2015-09-10 07:22:44吉家進
        中國信息技術(shù)教育 2015年15期
        關(guān)鍵詞:關(guān)鍵幀嵌套數(shù)組

        吉家進

        基本概念

        表達式是由數(shù)字、算符、數(shù)字分組符號(括號)、自由變量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合。

        在After Effects中,表達式是基于JavaScript和歐洲計算機制作商聯(lián)合會制定的ECMA-Script規(guī)范,具備了從簡單到復(fù)雜的多種動畫功能,甚至還可以使用強大的函數(shù)功能來控制動畫效果。

        與傳統(tǒng)的關(guān)鍵幀動畫相比,表達式動畫具有更大的靈活性,既可獨立地控制單個動畫屬性,又可以同時控制多個動畫屬性。

        基本語法

        1.表達式的語言

        After Effects使用的是JavaScript語言的標準內(nèi)核語言,并且在其中內(nèi)嵌了諸如Layer(圖層)、Comp(合成)、Footage(素材)和Camera(攝像機)之類的擴展對象,這樣表達式就可以訪問到After Effects項目中的絕大多數(shù)屬性值。

        另外,在After Effects中,如果圖層的屬性中帶有arguments(陳述)參數(shù),則應(yīng)該稱該屬性為method(方法);如果圖層的屬性中沒有帶arguments(陳述)參數(shù),則應(yīng)該稱該屬性為attribute(屬性)。

        2.訪問對象的屬性和方法

        使用表達式可以獲取圖層屬性中的attributes(屬性)和methods(方法)。After Effects表達式語法規(guī)定全局對象與次級對象之間必須以點號來進行分割,以說明物體之間的層級關(guān)系,同樣目標與“屬性”和“方法”之間也是使用點號來進行分割的(如圖1)。

        對于圖層以下的級別(如濾鏡、遮罩和文字動畫組等),可以使用圓括號來進行分級,如要將Layer 1圖層中的Opacity(不透明度)屬性使用表達式鏈接到Layer 2圖層中的Gaussian Blur(高斯模糊)濾鏡的Blurriness(模糊量)屬性中,這時可以在Layer 1圖層的Opacity(不透明度)屬性中編寫出如下所示的表達式。

        thisComp.layer("Layer 2").effect("Gaussian Blur")("Blurriness")

        在After Effects中,如果使用的對象屬性是自身,那么可以在表達式中忽略對象層級不進行書寫,因為After Effects能夠默認將當(dāng)前的圖層屬性設(shè)置為表達式中的對象屬性。例如,在圖層的Position(位置)屬性中使用wiggle( )表達式,可以使用以下兩種編寫方式。

        Wiggle(10,5)

        position.wiggle(10,5)

        在After Effects中,當(dāng)前制作的表達式如果將其他圖層或其他屬性作為調(diào)用的對象屬性,那么在表達式中就一定要書寫對象信息及屬性信息。例如,為Layer 2圖層中的Opacity(不透明度)屬性制作表達式,將Layer 1中的Rotation(旋轉(zhuǎn))屬性作為連接的對象屬性,這時可以編寫出如下所示的表達式。

        thisComp.layer("Layer 1").rotation

        3.數(shù)組與維數(shù)

        數(shù)組是一種按順序存儲一系列參數(shù)的特殊對象,它使用逗號(,)來分隔多個參數(shù)列表,并且使用中括號([ ])將參數(shù)列表首尾包括起來,如下所示。

        [10, 5]

        在實際工作中為了方便,也可以為數(shù)組賦予一個變量,以便于以后調(diào)用,如下所示。

        myArray = [10, 5]

        在After Effects中,數(shù)組中的數(shù)組維數(shù)就是該數(shù)組中包含的參數(shù)個數(shù),如上面提到的myArray數(shù)組就是二維數(shù)組。

        在After Effects中,如果某屬性含有一個以上的變量,那么該屬性就可以稱為數(shù)組,After Effects中不同的屬性都具有各自的數(shù)組維數(shù),如下表所示的是一些常見的屬性及其維數(shù)。

        在數(shù)組中的某個具體屬性可以通過索引數(shù)來調(diào)用,數(shù)組中的第1個索引數(shù)是從0開始,如在上面的myArray= [10, 5]表達式中,myArray[0]表示的是數(shù)字10,myArray[1]表示的是數(shù)字5。

        4.向量與索引

        向量是帶有方向性的一個變量或是描述空間中的點的變量。在After Effects中,很多屬性和方法都是向量數(shù)據(jù),如最常用的Position(位置)屬性值就是一個向量。

        當(dāng)然,并不是擁有兩個以上值的數(shù)組就一定是向量,如audioLevels雖然也是一個二維數(shù)組,返回兩個數(shù)值(左聲道和右聲道強度值),但是它并不能稱為向量,因為這兩個值并不帶有任何運動方向性,也不代表某個空間的位置。

        在After Effects中,有很多的方法都與向量有關(guān),它們被歸納到Vector Math(向量數(shù)學(xué))表達式語言菜單中,如lookAt(fromPoint,atPoint),其中fromPoint和atPoint就是兩個向量。通過lookAt(fromPoint,atPoint)方法,可以輕松地實現(xiàn)讓攝像機或燈光盯緊某個圖層的動畫效果。

        5.表達式時間

        表達式中使用的時間指的是合成的時間,而不是指圖層時間,其單位是以秒來衡量的。默認的表達式時間是當(dāng)前合成的時間,它是一種絕對時間,如下所示的兩個合成都是使用默認的合成時間并返回一樣的時間值。

        thisComp.layer(1).position

        thisComp.layer(1).position.valueAtTime(time)

        如果要使用相對時間,只需要在當(dāng)前的時間參數(shù)上增加一個時間增量。例如,要使時間比當(dāng)前時間提前5秒,可以使用如下表達式來表達。

        thisComp.layer(1).position.valueAtTime(time-5)

        合成中的時間在經(jīng)過嵌套后,表達式中默認的還是使用之前的合成時間值,而不是被嵌套后的合成時間。注意,當(dāng)在新的合成中把被嵌套合成圖層作為源圖層時,獲得的時間值為當(dāng)前合成的時間。例如,如果源圖層是一個被嵌套的合成,并且在當(dāng)前合成中這個源圖層已經(jīng)被剪輯過,用戶可以使用表達式來獲取被嵌套合成的Position(位置)的時間值,其時間值為被嵌套合成的默認時間值,如下表達式所示。

        Comp("nested composition").layer(1).position

        如果直接將源圖層作為獲取時間的依據(jù),則最終獲取的時間為當(dāng)前合成的時間,如下表達式所示。

        thisComp.layer("nested composition").source.layer(1).position

        表達式的創(chuàng)建

        1.使用菜單命令

        在Timeline(時間線)面板中選擇需要添加表達式的圖層的屬性,然后執(zhí)行“Animation(動畫)→Add Expression(添加表達式)”菜單命令,系統(tǒng)會增加一個默認的表達式,如圖2所示。在輸入或編輯表達式完成后,可以按小鍵盤上的Enter鍵或單擊表達式輸入框以外的區(qū)域來完成表達式的創(chuàng)建工作。

        2.表達式關(guān)聯(lián)器

        使用“表達式關(guān)聯(lián)器”可以將一個圖層的屬性關(guān)聯(lián)到另一個圖層的屬性中,將“表達式關(guān)聯(lián)器”按鈕拖曳到其他動畫屬性的名字或數(shù)值上來關(guān)聯(lián)動畫屬性,如圖3、圖4所示。

        表達式的保存與調(diào)用

        1.動畫預(yù)設(shè)

        在After Effects中,可以將含有表達式的動畫保存為Animation Presets(動畫預(yù)設(shè)),這樣在其他工程文件中就可以直接調(diào)用這些動畫預(yù)設(shè)。

        如果在保存的動畫預(yù)設(shè)中,動畫屬性僅包含有表達式而沒有任何關(guān)鍵幀,那么動畫預(yù)設(shè)只保存表達式的信息;如果動畫屬性中包含有一個或多個關(guān)鍵幀,那么動畫預(yù)設(shè)將同時保存關(guān)鍵幀和表達式的信息。

        2.復(fù)制表達式和關(guān)鍵幀

        在同一個合成項目中,可以復(fù)制動畫屬性的關(guān)鍵幀和表達式,然后將其粘貼到其他的動畫屬性中,當(dāng)然也可以只復(fù)制屬性中的表達式。

        如果要將一個動畫屬性中的表達式連同關(guān)鍵幀一起復(fù)制到其他的一個或多個動畫屬性中,可以在Timeline(時間線)面板中選擇源動畫屬性并進行復(fù)制,然后將其粘貼到其他的動畫屬性中。

        3.只復(fù)制表達式

        如果只想將一個動畫屬性中的表達式(不包括關(guān)鍵幀)復(fù)制到其他的一個或多個動畫屬性中,可在Timeline(時間線)面板中選擇源動畫屬性,然后執(zhí)行“Edit(編輯)→Copy Expression Only(只復(fù)制表達式)”菜單命令,接著將其粘貼到選擇的目標動畫屬性中即可。

        本期專欄的介紹到此結(jié)束,在后續(xù)的專欄中筆者將繼續(xù)介紹和講解其他模塊的具體技術(shù)。

        猜你喜歡
        關(guān)鍵幀嵌套數(shù)組
        例析“立幾”與“解幾”的嵌套問題
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        基于嵌套Logit模型的競爭性選址問題研究
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        基于改進關(guān)鍵幀選擇的RGB-D SLAM算法
        基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
        基于聚散熵及運動目標檢測的監(jiān)控視頻關(guān)鍵幀提取
        尋找勾股數(shù)組的歷程
        論“關(guān)鍵幀”在動畫制作中的作用
        一種基于區(qū)分服務(wù)的嵌套隊列調(diào)度算法
        計算機工程(2014年6期)2014-02-28 01:25:29
        丰满少妇高潮惨叫久久久| 99国产精品无码专区| 无码丰满熟妇浪潮一区二区av| 亚洲精品无码mv在线观看| 91精品国产免费青青碰在线观看| 色欧美与xxxxx| 色婷婷综合一区二区精品久久| 三级国产高清在线观看| 免费看美女被靠到爽的视频| 黑色丝袜秘书夹住巨龙摩擦| 欧美视频第一页| 扒开非洲女人大荫蒂视频| 亚洲精品一区二区成人精品网站 | 亚洲av网一区二区三区| 久久精品夜色噜噜亚洲a∨| 色噜噜狠狠狠综合曰曰曰| 亚洲 欧美 国产 日韩 精品| 中文字幕麻豆一区二区| 亚洲天堂av一区二区三区不卡| 久久久99精品成人片| 亚洲第一最快av网站| 越南女子杂交内射bbwxz| 午夜福利视频男同女同| 在线观看高清视频一区二区三区| 真实夫妻露脸自拍视频在线播放| 黑色丝袜秘书夹住巨龙摩擦| 国产女人精品视频国产灰线| 免费女同毛片在线不卡| 自拍视频在线观看首页国产| 中文天堂国产最新| 大地资源中文在线观看官网第二页| 99久久久精品国产性黑人| 亚洲熟女少妇一区二区三区青久久 | 免费拍拍拍网站| 加勒比无码专区中文字幕| 在线视频日韩精品三区| 免费视频无打码一区二区三区| 久久99精品久久久久久9蜜桃| 国产精品女同一区二区| 亚洲在线视频一区二区| 有坂深雪中文字幕亚洲中文|