国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)字影視特效中的編程技術(shù)研究

2012-10-27 02:11:02侯全軍
中國(guó)科技信息 2012年8期
關(guān)鍵詞:關(guān)鍵幀表達(dá)式圖層

侯全軍

湖南廣播電視大學(xué)傳媒藝術(shù)系,湖南 長(zhǎng)沙 410004

數(shù)字影視特效中的編程技術(shù)研究

侯全軍

湖南廣播電視大學(xué)傳媒藝術(shù)系,湖南 長(zhǎng)沙 410004

數(shù)字影視是文化創(chuàng)意產(chǎn)業(yè)的重要組成部分,影視特效是現(xiàn)代影視技術(shù)的一大亮點(diǎn),其技術(shù)的推廣和發(fā)展備受人們的關(guān)注,目前的影視特效制作主要通過(guò)關(guān)鍵幀技術(shù)來(lái)完成,但在精確繪圖、分形動(dòng)畫、循環(huán)控制、隨機(jī)抖動(dòng)、圖形跟蹤等方面卻有著局限性,通過(guò)After Effects軟件提供的編程環(huán)境,巧妙的進(jìn)行程序設(shè)計(jì)和開(kāi)發(fā),能高效快捷的完成這些特效的制作。

影視特效;JavaScript語(yǔ)言;程序設(shè)計(jì);函數(shù)

引言

數(shù)字影視特效已不僅僅是后期剪接中的一個(gè)增補(bǔ),他已經(jīng)滲入到影視作品創(chuàng)作的方方面面,從劇本的創(chuàng)作、籌謀到前期的攝影、置景、道具,到后期的合成、剪接,無(wú)處不發(fā)揮著他巨大的功力[1]。After Effects是數(shù)字影視特效制作的主流軟件,該軟件在動(dòng)畫的控制和特效的生成方面有著強(qiáng)大的功能。它可以實(shí)現(xiàn)視頻片段的摳像,圖形的三維空間運(yùn)動(dòng),模擬火焰、爆炸、雨雪等粒子特效,能輕松地完成光影特效和影片的調(diào)色與合成[2]。

After Effects軟件在6.0以前的版本中,程序的編寫是通過(guò)MOTION MATH腳本集來(lái)實(shí)現(xiàn),在6.5以后的版本MOTION MATH完全被更為靈活,使用更為方便的表達(dá)式所代替了[3]。表達(dá)式具有豐富的系統(tǒng)變量和預(yù)定義函數(shù),可以靈活的調(diào)用和控制系統(tǒng)中的參數(shù)、圖像的狀態(tài)和屬性,使平時(shí)難以想象的影視畫面和動(dòng)畫場(chǎng)景的創(chuàng)作有了可能,有效的豐富了數(shù)字影視特效的表現(xiàn)形式,增強(qiáng)了影視作品的藝術(shù)效果。

1 程序編寫的方法

After Effects 的表達(dá)式是基于JavaScript語(yǔ)言的編程環(huán)境,JavaScript是一種描述性的腳本語(yǔ)言,它采用小程序段的方式實(shí)現(xiàn)編程,在After Effects軟件中,可以給任何一個(gè)圖層添加表達(dá)式,通過(guò)表達(dá)式來(lái)編寫這些小程序段。這些小程序段可以靈活、方便地控制圖層的屬性和參數(shù),也可以調(diào)用整個(gè)合成及其它圖層的屬性和參數(shù),例如通過(guò)時(shí)間函數(shù)調(diào)用整個(gè)合成的播放進(jìn)度,通過(guò)系統(tǒng)函數(shù)獲得整個(gè)項(xiàng)目的尺寸和制式,通過(guò)坐標(biāo)函數(shù)調(diào)用其它圖層的位置等。

傳統(tǒng)的軟件開(kāi)發(fā)工具一般是在一個(gè)獨(dú)立的編程環(huán)境中完成,而After Effects是一個(gè)基于圖層的影視特效軟件,圖層類似于一個(gè)大的容器,程序代碼被放置在這個(gè)容器的表達(dá)式中,通過(guò)表達(dá)式來(lái)實(shí)現(xiàn)對(duì)圖層中圖形的生成和圖像的變化,從而產(chǎn)生各種特效。一個(gè)完整的特效,往往需要多個(gè)圖層的結(jié)合才能完成,所以一個(gè)完整的特效程序,通常被放置在多個(gè)圖層的表達(dá)式中。通過(guò)多個(gè)表達(dá)式的相互關(guān)聯(lián),將圖層有機(jī)的結(jié)合起來(lái),是After Effects軟件中程序編寫的常用方法。

2 典型的編程技術(shù)

2 .1 幾何圖形及精準(zhǔn)動(dòng)畫特效編程

在制作影視特效中,經(jīng)常需要繪制一些幾何圖形,這些圖形的繪制可以通過(guò)After Effects提供的數(shù)學(xué)函數(shù)如Math.cos(value)、Math.sin(value)、Math.tan(value)配合連線特效Beam來(lái)完成。精準(zhǔn)動(dòng)畫特效在后期合成中應(yīng)用廣泛,為了使特效的真實(shí),常常需要依據(jù)一些標(biāo)準(zhǔn)的物理學(xué)規(guī)律來(lái)設(shè)定。

在制作物體拋射特效時(shí),其運(yùn)動(dòng)軌跡需要按照平拋運(yùn)動(dòng)規(guī)律來(lái)設(shè)定,在After Effects軟件中可以利用平拋運(yùn)動(dòng)的數(shù)學(xué)公式x=vt,y=vt+(1/2)gt2來(lái)設(shè)計(jì),在position屬性中編寫程序:

即可實(shí)現(xiàn)所需的效果,其中v為設(shè)定的初始速度,time是一個(gè)系統(tǒng)預(yù)定義函數(shù),表示播放的時(shí)間碼參數(shù),精確到小數(shù)點(diǎn)后面兩位數(shù),如播放到1分25秒時(shí),其數(shù)字為85.00。

在制作時(shí)鐘的指針旋轉(zhuǎn)動(dòng)畫時(shí),需要按照真實(shí)時(shí)間的刻度來(lái)運(yùn)動(dòng),這時(shí)可以通過(guò)編程控制圖層的rotation屬性,例如秒針的程序可以寫成:

這樣隨著影片的播放,每根指針都準(zhǔn)確的按照播放進(jìn)度進(jìn)行各自的旋轉(zhuǎn)。

2.2 動(dòng)態(tài)文字特效編程

After Effects軟件為動(dòng)態(tài)文字特效的制作提供了Animate工具,可以實(shí)現(xiàn)文字的打字機(jī)效果,文字的舞動(dòng),文字的展開(kāi)等動(dòng)畫[3],但是在一些特殊的文字效果上卻需要通過(guò)編程來(lái)完成,例如時(shí)間的顯示,如果需要在面板上顯示播放的時(shí)間碼【00:00:05:09】,并且隨著播放的進(jìn)度同步演示,利用關(guān)鍵幀技術(shù)或Animate工具是難以實(shí)現(xiàn)的。文字圖層中具有一個(gè)sources text屬性,通過(guò)程序控制這個(gè)屬性,可以輕松的實(shí)現(xiàn)動(dòng)態(tài)文字的特效。例如在sources text屬性中編寫:

可以在屏幕上以【00:00:01:01】形式顯示時(shí)間碼,如果編寫成:

則可以在屏幕上以幀的形式顯示當(dāng)前的播放進(jìn)度。

2.3 定位與跟蹤特效編程

After Effects的特效在很多情況下都是通過(guò)多個(gè)圖層的關(guān)聯(lián)和配合來(lái)實(shí)現(xiàn)的,所以在圖層的控制中,常需要將多個(gè)圖層的一些屬性關(guān)聯(lián)起來(lái)并實(shí)現(xiàn)定位與動(dòng)態(tài)跟蹤,例如圖層的位置、旋轉(zhuǎn)角度、透明度、中心點(diǎn)等。表達(dá)式程序的編寫,為這一需求提供了良好的解決方案。例如通過(guò)語(yǔ)句:

即可獲取并跟蹤一個(gè)圖層的位置坐標(biāo)信息。如果要對(duì)多個(gè)圖層的位置進(jìn)行關(guān)聯(lián),并依次產(chǎn)生一定的位移,則可在相應(yīng)圖層的position屬性上添加語(yǔ)句:

在位置的動(dòng)態(tài)變化方面,通過(guò)編寫程序來(lái)實(shí)現(xiàn)有著明顯的優(yōu)勢(shì),例如在四色漸變?yōu)V鏡的應(yīng)用中,四個(gè)色彩點(diǎn)的位置需要按照?qǐng)A周運(yùn)動(dòng),產(chǎn)生色彩旋轉(zhuǎn)的動(dòng)畫特效,則可以在四個(gè)點(diǎn)的position屬性中分別添加表達(dá)式,程序編寫方法如下:

其中center是獲得該圖層的位置中心點(diǎn)。Radius是圓周的半徑,這里設(shè)定的是180,angle是用于跟蹤播放時(shí)間的變化,并產(chǎn)生動(dòng)態(tài)角度的參數(shù),這里的初始角度應(yīng)根據(jù)四個(gè)點(diǎn)的初始位置來(lái)設(shè)置,x和y分別為點(diǎn)的坐標(biāo)值,最后的add()函數(shù)是一個(gè)加法函數(shù),通過(guò)中心點(diǎn)和x、y的值相加來(lái)完成色彩點(diǎn)的定位和賦值。

2.4 循環(huán)特效編程

在動(dòng)態(tài)背景、畫中畫、運(yùn)動(dòng)圖標(biāo)的應(yīng)用中,這些片段經(jīng)常需要循環(huán)播放,如果利用關(guān)鍵幀技術(shù)或?qū)訌?fù)制技術(shù)來(lái)完成,會(huì)造成圖層增加,運(yùn)算速度降低,制作的工作量增加,但是利用loopIn()、loopOut ()、loopInDuration()、loopOutDuration()函數(shù)來(lái)編寫程序,則可以輕松的完成循環(huán)特效。如語(yǔ)句:

其功能是,在層的最后一個(gè)關(guān)鍵幀到出點(diǎn)保持循環(huán)播放一個(gè)指定的內(nèi)容,這個(gè)指定的內(nèi)容是從層的最后關(guān)鍵幀到入點(diǎn)的某個(gè)關(guān)鍵幀之間的片段, 具體的某個(gè)關(guān)鍵幀由numKeyframe來(lái)指定。例如loopOut("cycle", 1)是從層的最后關(guān)鍵幀到出點(diǎn)保持循環(huán),循環(huán)的內(nèi)容是最后一個(gè)關(guān)鍵幀到倒數(shù)第二個(gè)關(guān)鍵幀之間的片段,循環(huán)的次數(shù)由最后關(guān)鍵幀到出點(diǎn)間的時(shí)間和循環(huán)內(nèi)容長(zhǎng)度決定。

在循環(huán)閃爍,循環(huán)變色,圖形往返運(yùn)動(dòng)等特效的編程制作中,可以利用數(shù)學(xué)函數(shù)Math.sin(time)來(lái)完成。由于sin()函數(shù)輸出值的范圍是在-1到1之間,所以隨著time的增加,輸出值就在-1到1之間往返變化;利用這一點(diǎn)可以實(shí)現(xiàn)播放過(guò)程中的循環(huán)特效制作,例如在圖層的position屬性中編寫程序:

可以實(shí)現(xiàn)物體在x坐標(biāo)軸上從-100到100的位置上來(lái)回往復(fù)運(yùn)動(dòng)。如果在圖層的opacity屬性中編寫程序:

可以實(shí)現(xiàn)圖層的透明度從-100到100的反復(fù)變化,實(shí)現(xiàn)按規(guī)律閃爍的特效。這些運(yùn)動(dòng)的節(jié)奏可以通過(guò)改變sin()函數(shù)中參數(shù)的變化速度來(lái)控制,例如要將節(jié)奏提高十倍,則可以寫成Math.sin(time*10),這樣在原有的基礎(chǔ)上相當(dāng)于把時(shí)間加快了十倍。

2.5 隨機(jī)特效編程

關(guān)鍵幀動(dòng)畫在制作隨機(jī)特效方面有著較大的缺陷,例如畫面隨機(jī)抖動(dòng),粒子隨機(jī)運(yùn)動(dòng),顏色隨機(jī)變幻等,如果通過(guò)手工設(shè)定,其效果不真實(shí),工作量也巨大。如果通過(guò)程序的編寫來(lái)完成則可以達(dá)到事辦功倍的效果。

After Effects提供了random(minVal, maxVal)函數(shù),其中的minVal參數(shù)表示最小值或最小的數(shù)組,maxVal參數(shù)表示最大值或最大的數(shù)組。要實(shí)現(xiàn)畫面的抖動(dòng)可以在Position屬性中編寫程序:

transform.position=[random(480, 530),random(300, 400)];

這樣隨著視頻的播放,畫面的x軸在480到530之間,y軸在300到400之間產(chǎn)生劇烈的抖動(dòng)。要實(shí)現(xiàn)一個(gè)畫面色彩的隨機(jī)變幻,可以給圖層添加Hue/Saturation濾鏡效果,并勾選colorize選項(xiàng),在Colorize Hue屬性中添加代碼random(0,360),即可實(shí)現(xiàn)色彩相位在0到360度之間隨機(jī)變幻。

隨機(jī)函數(shù)還可以控制圖層及濾鏡特效的很多屬性,例如控制scale屬性可以產(chǎn)生隨機(jī)縮放變形的動(dòng)畫,控制opacity屬性可以控制圖層的透明度隨機(jī)變化,控制particluar粒子濾鏡的positionxy屬性可以控制粒子的隨機(jī)發(fā)射。

3 結(jié)語(yǔ)

數(shù)字影視特效中的編程方法還有很多,結(jié)合數(shù)字圖形技術(shù)和空間技術(shù)可以開(kāi)發(fā)出更多、更豐富的數(shù)字特效[5],例如利用遞歸算法編程可以實(shí)現(xiàn)分形特效,利用矩陣算法編程可以實(shí)現(xiàn)三維空間運(yùn)動(dòng)。只要我們?cè)陂_(kāi)發(fā)和設(shè)計(jì)過(guò)程中,深入研究,巧妙的利用After Effects圖層、濾鏡的特點(diǎn),結(jié)合靈活的程序設(shè)計(jì),就能為影視特效的制作開(kāi)辟一個(gè)新的發(fā)展空間和領(lǐng)域。

[1]唐峰.電腦特技在電影中的運(yùn)用[J].青年文學(xué)家,2010(16):17

[2]臧冠男.淺析After Effects在影像制作中的應(yīng)用[J].吉林廣播電視大學(xué)學(xué)報(bào), 2010(09):55

[3]眭莉.基于特效合成軟件After Effects的文字動(dòng)畫應(yīng)用創(chuàng)作[J].常州工學(xué)院學(xué)報(bào),2008(02):23

[4]侯全軍,吳飛前.影視特效實(shí)例教程[M].北京:人民郵電出版社,2010:135

[5]肖常慶.影視特效的繪畫重構(gòu)[J].北京電影學(xué)院學(xué)報(bào),2011(05):30

10.3969/j.issn.1001-8972.2012.08.060

侯全軍(1979— ),男,數(shù)字媒體教研室主任,講師,碩士,研究方向數(shù)字媒體技術(shù)。

猜你喜歡
關(guān)鍵幀表達(dá)式圖層
一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
表達(dá)式轉(zhuǎn)換及求值探析
淺析C語(yǔ)言運(yùn)算符及表達(dá)式的教學(xué)誤區(qū)
巧用混合圖層 制作抽象動(dòng)感森林
基于改進(jìn)關(guān)鍵幀選擇的RGB-D SLAM算法
基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
圖層法在地理區(qū)域圖讀圖中的應(yīng)用
基于聚散熵及運(yùn)動(dòng)目標(biāo)檢測(cè)的監(jiān)控視頻關(guān)鍵幀提取
論“關(guān)鍵幀”在動(dòng)畫制作中的作用
淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
河南科技(2014年6期)2014-04-04 08:00:42
兴仁县| 平陆县| 璧山县| 马龙县| 原阳县| 泰顺县| 疏附县| 宁津县| 大厂| 定南县| 宁河县| 衡阳县| 大宁县| 封开县| 澄城县| 兰西县| 海伦市| 清水河县| 崇仁县| 增城市| 开化县| 浑源县| 宣汉县| 夏津县| 娱乐| 彭州市| 开化县| 特克斯县| 佛冈县| 财经| 泸溪县| 微博| 新兴县| 玛曲县| 杭锦后旗| 会泽县| 类乌齐县| 长子县| 东光县| 正蓝旗| 古交市|