王茹
【摘要】影視動漫是文化產(chǎn)業(yè)中一個重要的文化傳播媒介,目前國內(nèi)高校不斷開設(shè)動畫及其相關(guān)專業(yè),為市場輸入越來越多的動畫專業(yè)從業(yè)者。文章以Maya渲染為例,思考通過MEL語言腳本強(qiáng)大的自定義功能, 讓用戶直接控制Maya的工作進(jìn)程,借此啟發(fā)動畫從業(yè)者以計(jì)算機(jī)編程優(yōu)化三維動畫制作實(shí)踐能力,提高工作效率。
【關(guān)鍵詞】MEL語言;MAYA;開發(fā)
傳統(tǒng)動畫是采用逐幀拍攝對象并連續(xù)播放,利用人眼視覺暫留,在人眼面前生成一系列連續(xù)的圖像,使視覺產(chǎn)生動態(tài)并真實(shí)效果的一項(xiàng)影像技術(shù)。這種傳統(tǒng)動畫制作模式已經(jīng)逐步被以計(jì)算機(jī)應(yīng)用為基礎(chǔ)的三維動畫技術(shù)所取代。計(jì)算機(jī)三維動畫技術(shù)主要包含與動畫有關(guān)的模型、動畫、燈光、渲染、合成等技術(shù)。它是通過對真實(shí)世界的模擬和對虛擬想象世界的創(chuàng)造,綜合各門學(xué)科知識,利用人體視覺暫留,在人眼面前生成一系列連續(xù)的圖像,使視覺產(chǎn)生動態(tài)并真實(shí)效果的一項(xiàng)技術(shù)。而在三維動畫制作領(lǐng)域處于佼佼者的就是Maya。Autodesk Maya是美國Autodesk公司出品的世界頂級的三維動畫軟件。Maya功能完善,工作靈活,易學(xué)易用,制作效率極高,渲染真實(shí)感極強(qiáng),是電影級別的高端制作軟件,在三維動畫制作領(lǐng)域一直處于領(lǐng)先地位。而它同時又支持設(shè)計(jì)者和用戶不斷地更新和改進(jìn)軟件,這種更新和改進(jìn)正是由于Maya 的擴(kuò)展自由優(yōu)于其他軟件,也就是它的可編程性。它有專門屬于自己的嵌入式語言——MEL(Maya Embedded Language),這種強(qiáng)大的MEL可以讓用戶直接控制Maya的進(jìn)程和工作流程。由于這種自由拓展的能力使得Maya的設(shè)計(jì)者和用戶可以自由發(fā)揮,受到眾多三維動畫制作者的擁護(hù)。
一、MEL開發(fā)的實(shí)踐意義
自從2000年國家提出“發(fā)展動畫產(chǎn)業(yè)”以來,中國動畫產(chǎn)業(yè)發(fā)展迅猛,巨大的國產(chǎn)動畫產(chǎn)量一定程度上反映了我國動畫產(chǎn)業(yè)蓬勃的發(fā)展前景,而隨之而來的是對三維動畫制作人員的需求也越來越多。因此順應(yīng)時代的要求,國內(nèi)各大高校和培訓(xùn)機(jī)構(gòu)陸續(xù)開辦動畫及其相關(guān)專業(yè)。隨著現(xiàn)代經(jīng)濟(jì)和社會發(fā)展對高等教育提出的“學(xué)、研、產(chǎn)”相結(jié)合的要求,以及市場的拓展、動畫公司對優(yōu)質(zhì)人才的渴望,越來越多的高校動畫專業(yè)師生參與到動畫實(shí)踐項(xiàng)目的創(chuàng)作中來。由于三維動畫項(xiàng)目制作流程相對比較復(fù)雜,受制作周期較長和制作水平所限,依靠團(tuán)隊(duì)合作完成一些三維影視動畫作品成了主要途徑。那么合理的規(guī)劃和管理對于在三維動畫制作過程中產(chǎn)生的數(shù)以萬計(jì)的巨大數(shù)據(jù)量和相關(guān)文件就成了一個關(guān)鍵問題。但由于應(yīng)用于三維動畫制作的硬件配備比較昂貴,單純依靠重復(fù)的命令和不斷的調(diào)整和測試來解決三維動畫制作所產(chǎn)生的問題,只能是事倍功半。因此,亟需提升動畫專業(yè)人員的動畫制作水平,同時使其兼?zhèn)湟欢ǖ膭赢嬡浖_發(fā)的能力。
本文旨在運(yùn)用實(shí)例說明三維動畫實(shí)踐中應(yīng)用MEL對動畫制作進(jìn)行優(yōu)化,達(dá)到提高制作效率,節(jié)約渲染時間和節(jié)省勞動成本的目的。這種腳本研究與開發(fā)在三維動畫制作行業(yè)有很好的需求和市場前景,因此更好地說明計(jì)算機(jī)編程與三維動畫制作的緊密性。
二、MEL程序的需求分析
MEL是一種強(qiáng)大的腳本語言,可以直接控制 Maya的特征、進(jìn)程和工作流程,Maya中所有的按鈕命令都是通過 MEL來調(diào)用的。Maya中的每一步操作都是在執(zhí)行 MEL,因此 Maya的任何一個功能,能做的任何一項(xiàng)操作,都可以加到自己的 MEL程序中。Maya在用戶自主控制和擴(kuò)展軟件功能方面提出了解決方案,即“表達(dá)式-MEL腳本-Plug in”方式。而其中MEL腳本通常用來完成一些較為復(fù)雜的任務(wù),這些任務(wù)通常是通過Maya本身菜單和操作界面不能直接實(shí)現(xiàn)的。比如動畫制作中出現(xiàn)的各種各樣的問題,單單依靠手工操作、重復(fù)做相同的操作或者類似的操作,達(dá)到一個目的;或者一些復(fù)雜的,難以通過菜單實(shí)現(xiàn)的操作等等,卻都可以通過一段或簡單或復(fù)雜的 MEL 程序來實(shí)現(xiàn)。不能否認(rèn),MEL 是強(qiáng)大的,功能復(fù)雜多變。然而MEL的難點(diǎn),也可說是不容忽視的,不得不承認(rèn)能做到熟悉每一個MEL 命令是十分困難的。但是一旦熟悉MEL 命令,往往能給工作帶來意想不到的便捷。
三、MEL在Maya渲染環(huán)節(jié)的開發(fā)運(yùn)用
在三維動畫制作流程中,渲染環(huán)節(jié)歷來是最耗費(fèi)時間和最容易出錯的。在渲染部分針對三維動畫的制作流程及其硬件環(huán)境,開發(fā)強(qiáng)制渲染腳本及單機(jī)批渲腳本DOS_render。強(qiáng)制渲染腳本主要應(yīng)用于某些場景文件無法批渲染時,需要場景單幀即時渲染,并保存即時渲染的圖片信息效果。在硬件方面,如果沒有渲染農(nóng)場,只能依靠本機(jī)進(jìn)行渲染,這就不可避免地會有壞幀和未渲染幀。當(dāng)一個鏡頭的渲染文件有較多的壞幀和未渲染幀時,在補(bǔ)渲的時候會很麻煩,為此需要編寫單機(jī)批渲腳本。單機(jī)批渲腳本和Maya的批渲染命令不是一個概念。Maya的批渲染命令只是Maya 的一個內(nèi)部的功能,主要是完成當(dāng)前打開的Maya文件的渲染工作。這里所編寫的單機(jī)批渲腳本可以渲染不同的場景文件、渲染不同的分層、不同的關(guān)鍵幀,功能很全面。
單機(jī)批渲插件DOS_render的制作是根據(jù)Maya渲染支持Window系統(tǒng)的DOS批處理命令。利用Maya Mel命令調(diào)用DOS命令,通過DOS命令進(jìn)行Maya的批渲染操作。在使用DOS調(diào)用Maya渲染的時候首先要解決一個重要的問題,讓DOS能夠識別調(diào)用Maya中的render批渲染命令,在默認(rèn)的狀態(tài)下DOS是無法直接調(diào)用render渲染命令的,必須要為Maya設(shè)置環(huán)境變量才能使用DOS調(diào)用Maya中的render命令。設(shè)置環(huán)境變量的時候還有一個問題,在同時安裝多個版本的Maya軟件的計(jì)算機(jī)中設(shè)置環(huán)境變量,需要設(shè)置用來渲染的Maya版本的環(huán)境變量。另外,設(shè)置環(huán)境變量的時候要設(shè)置成用戶環(huán)境變量。在調(diào)用渲染的時候,我們要對render命令所需要的格式和參數(shù)進(jìn)行設(shè)置和傳參。根據(jù)上述我們所遇到的一系列的問題編寫以下的函數(shù)來生成一個格式為.bat的dos下的批處理文件。另外,在DOS_render整個的編寫的過程中還發(fā)現(xiàn)了一個重要的問題,Maya的MEL命令的read函數(shù)只支持最大1024字節(jié)的內(nèi)容文件的讀取,這對我們的運(yùn)用來說是很致命的,因?yàn)槲覀冊谏?bat文件的時候經(jīng)常會超出1024字節(jié)的內(nèi)容,這樣我們就無法正常地識別和修改.bat文件內(nèi)容。為此DOS我們使用Python語言中的read命令來讀取文件信息,Python中的read命令在使用的時候是沒有文件內(nèi)容大小限制的。我們利用MEL命令來調(diào)用Python中的read命令,這樣就可以讀取完整的文件內(nèi)容。所以在使用MEL語言編寫程序腳本的過程中,也能通過 MEL語言調(diào)用Python語句實(shí)現(xiàn)MEL語言的擴(kuò)展。
四、總結(jié)
對比國際動畫的發(fā)展水平,我國動畫產(chǎn)業(yè)還只是處于初級階段。尤其是三維動畫技術(shù),無論在三維動畫的應(yīng)用制作上,還是在理論的研究水平上,都和國外存在相當(dāng)大的差距。在現(xiàn)有的計(jì)算機(jī)硬件的前提下,把一些復(fù)雜的操作和流程使用MEL腳本來執(zhí)行成為“一鍵式”執(zhí)行的程序命令,會大大簡化三維動畫制作者的工作時間和精力,這種腳本的研究與開發(fā)必然會在三維動畫制作行業(yè)有很好的需求和市場前景。
【參考文獻(xiàn)】
[1]蔣洪林.基于腳本語言的三維動畫技術(shù)的研究與實(shí)現(xiàn)[D].成都: 四川師范大學(xué), 2007.
[2] 【美】 威爾金斯.Maya動畫師MEL腳本編程全攻略[M].北京:電子工業(yè)出版社, 2004.endprint