高晶 唐俊
摘 要:隨著國內外制作動畫水平的不斷提升,藝術與技術的結合也越來越緊密,對動畫人的技術水平要求也越來越高。在實際創作中,一些繁多復雜的動畫任務全部用傳統的手工調整已經不能滿足動畫制作的要求,而應用腳本編程輔助制作動畫方便快捷,省時省力,是制作動畫時不可缺少的有力幫手。本文以《神偷奶爸》中的腳本語言應用為例,淺談動畫腳本語言在動畫教學中的運用。
關鍵詞:MAXScript;優勢;簡單;易學
《神偷奶爸》是一部2013年上映的3D電腦動畫電影,該影片由照明娛樂公司制作并由環球影片公司發行,它是環球公司成立102年以來最賺錢的電影之一,其中,迷你萌物“小黃人”是最大的功臣。當我們被《神偷奶爸》中一個個小黃人吸引的時候,有沒有想過如此多的小黃人是如何制作的?這么多的小黃人如何能夠既快又好地實現呢?
其實,我們看到的一些優秀創意或是精彩畫面的呈現,大多是動畫編程技術給予的技術支撐。《飛屋環游記》中成千上萬的氣球,《里約大冒險》中百萬只動物大狂歡,《冰河世紀》中飛流直下的堅果等都有動畫編程技術的幫忙,角色大場面、大效果的呈現都需要編程技術給予協助。在動畫創作中,編程腳本語言不斷發揮著自身優勢,在產業化生產中,編程技術更是發揮著重要作用。以電影《神偷奶爸》中的小黃人為例,一個場景中需有上百個這樣的角色,應用手動調整任務繁雜,重復性工作多,而應用腳本制作簡單方便。例如,在場景不同位置中創建100個小黃人,如果要用傳統的手動交互制作費時又費力,而用腳本語言制作就簡單快捷。只要把已創建好的小黃人用腳本語句進行復制就可以,在3dMAX中應用MaxScript腳本語句輸入以下語句就可以實現:for i=1 to 100 do copy $ pos:[(random -200 200),(random -200 200),(random -200 200)]一個循環語句,場景中100個隨機擺放的小黃人就制作好了,若要創建1000個小黃人只要把語句中的100改成1000就可以了。若要創建更多的小黃人更改相應的數值就可以完成創建,由此推理,創建千軍萬馬,萬馬奔騰的場景也并非難事。應用腳本語言制作可以把復雜的制作任務變簡單,把重復性多的工作變輕松,改變傳統的制作方式,當有大場面、多角色的創意出現的時候,我們不用擔心技術難題而不敢嘗試。
很多動畫人對編程技術存在畏懼感,其實,相對于高深的編程來說,動畫腳本編程的優勢在于簡單易學,它對于學動畫的人來說并非高不可攀。動畫腳本語言依托于動畫制作軟件,它沒有嚴格的語法規則限制。學習起來不費勁,了解了基本語法之后就可應用,學習門檻低,編程零基礎的學生亦可學習。許多動畫制作軟件中設有這種腳本語言。例如,3ds Max中的MAXScript,Maya中的Mel,Flash中的Actionscript,Director中的Lingo等等,編程腳本語言依托于動畫軟件來幫我們完成復雜的動畫,在這里我主要介紹一下MAXScript。
MAXScript是為了擴展3ds Max而設計,它是3ds Max的內置腳本語言,是一種基于表達式的語言,它可以應用于Max建模、動畫、材質、修改器、渲染等模塊。MAXScript的強大在于用MAXScript不僅可以編寫3ds Max的全部功能,還可擴展其他軟件中的優勢功能,也就是說,如果您MAXScript應用得好,在MAX中還可以實現Maya中的功能,MAXScript對于高手、新手都很適用。MAXScript是編程語言中最自由的一種開源環境,不受格式約束,語法規則沒有嚴格要求,可以編寫拓展插件,可以編寫程序面板、卷展欄、浮動窗口、按鈕等等,具體來說,它的特點及功能有:第一,MAXScript可以實現Max界面下的交互操作,覆蓋了絕大部分功能。例如,建模、動畫、材質、燈光、渲染處理等等,可以直接使用腳本語言進行軟件操作,如果MAXScript使用得好,可以對Max功能進行擴展和完善,高級用戶可以編寫或改寫插件,如果使用得好,它還可以實現maya等其他軟件中的功能,它允許高級編程用戶對軟件功能進行拓展開發,適合不同級別的用戶使用。第二,腳本語言可以把動畫師從簡單重復性的工作中解脫出來,讓計算機幫助我們完成復雜重復性的工作,它可以將傳統手動交互很難完成的任務簡單實現。例如,應用腳本可以模擬上千個球體的星系,可以使物體按照某個特定的數學曲線運動,可以生產逼真的群鳥飛翔的動畫,簡單的群體動畫、粒子動畫都可以應用腳本實現,如果這些任務用手動完成是很麻煩的重復性工作,應用腳本卻簡單方便。它還可以建立批處理設置,可以應用腳本語言一次渲染多個場景文件等。第三,腳本開源,很多常用的MAXScript腳本被編成了實用的腳本插件,免費供大家使用,使用者下載后只要在腳本中打開它就可以實現,不受軟件安裝版本的影響,十分方便。
諸多動畫軟件中的編程腳本工具像MAXScript一樣功能強大,容易掌握。在實際工作中,掌握腳本制作動畫是制作復雜動畫的新捷徑。當遇到大場面、群組角色等復雜繁多的任務時,應用動畫編程腳本語言制作事半功倍,以《神偷奶爸》中一大片七彩的氣球為例。第一步:創建并設定好一個氣球的模型與材質,然后打開種樹插件,拾取剛創建的氣球,在場景中任意位置拖動鼠標,都可以創建一大片氣球。第二步:給氣球添加七彩的顏色,這里設定顏色的隨機需要首先把已經設計好的氣球的材質等放在材質編輯器中,根據材質編輯器的順序依次排列這7種材質,然后選中場景中的所有氣球,輸入隨機命令。例如,for i in $ do i.material=meditmaterials[random 1 7]隨機設定顏色就賦予了場景中的氣球,不管場景中有多少物體,如有隨機設定顏色就用上面的腳本代碼就可以了,操作簡單,易學易用,如果遇到問題可以查找幫助,或是腳本參考手冊,網上的資源也很豐富,還可以通過網絡查詢得到答案。《神偷奶爸》中眾多地方可以應用MAXScript腳本實現,一個遞增的變量循環可以做出并列一排的小黃人或是多個小黃人排成不同的形狀。一個隨機命令可以創建多個不同位置或不同大小的小黃人。例如,動畫影片中的小黃人雖然形象上一樣,但也各有特點。有的小黃人稍胖點,有的高點,有的瘦點,要想讓每個小黃人不同于彼此也不是難事。應用隨機命令就可以了,給所有的小黃人不同的參數,隨機生成,效果高,效率高。在制作中,隨機、循環、判定等語句在腳本應用中經常碰到,需要制作者靈活運用。MAXScript腳本制作強大之處在于,很多成熟高效的插件免費供大家使用。例如,MAXScript中的建筑生長插件,腳本語言中已經寫好旋轉、縮放、位移、可見等多個參數內容,只要按要求選中物體,點選幾個參數即可完成建筑從無到有的生長過程或是變形過程。時間長短自由設定,變形速度自由設定,所有制作內容都由計算機計算得到,完全不用手動一幀一幀設定關鍵幀,如果要制作變形金剛突然變形的效果也可利用此插件,制作起來十分便捷省力。又例如,當要制作城市中車流快速流動的效果時,應用時光流逝插件,只要設定好流動的車輛、車輛間的距離、速度等相關的參數,計算機就可以生成高峰時段車流快速滑動的效果,像時間的快播一樣,仿真性強,準確性高,虛擬車流的運動效果也不錯,快捷之處是整個計算都由程序設計完成,鼠標點選幾個參數就可以實現很炫的動畫效果,完全不用手動交互創建調節,十分方便。此外,常用的還有種樹插件,類似種菜游戲一樣復制物體,把物體點選到種植插件中,就可以隨意在場景中復制新的物體,完全不費勁,MAXScript讓一些重復性的枯燥工作像玩游戲一樣,有趣實用。
諸多動畫軟件中的編程技術易學實用,動畫人不懂編程技術的局面應該打破,在實際工作中,隨時可能遇到需要腳本幫我們完成的任務,它是制作復雜動畫的新捷徑,應鼓勵動畫人學習并能應用動畫腳本。在動畫編程語言的教學中,首先應從心理上打破學生對編程語言的陌生感與距離感,以簡單易學的實例讓學生了解學習方法與制作方法,從心理上客服對編程語言的抵觸情緒。以直觀簡單的精彩實例闡明腳本語言的制作優勢,激發學生的學習興趣。作者在實踐教學中走來,從學生的反應來看,以實例為主講解語法規則更能激發學生的學習興趣,促使學生快速進入學習狀態。例如,講解一些快速生成動畫的插件,分析國內外優秀特效的腳本制作方法,逐步讓學生能夠從認識腳本,讀懂腳本,然后到靈活應用腳本,改編腳本,直至能夠自己編寫腳本。從入門到貫通,慢慢熟悉掌握腳本中的語法規則與應用規則,達到該課程的學習目標。有編程基礎的學習者使用該腳本更為輕松,此腳本語法規則少,學習應用起來更靈活,可以運用腳本做出更為成熟的作品。影視、廣告、室內設計、景觀設計、建筑設計、工業設計、多媒體設計、游戲、輔助教學等高端用戶都在使用腳本語言,這方面已經有很多很好的應用案例。
隨著國內外制作動畫水平的不斷提升,藝術與技術的結合也越來越緊密,手工交互調整動畫,已經不再滿足動畫制作的要求,應用腳本制作動畫成為新寵。在動畫創作中,應用腳本編程制作動畫不僅方便快捷,省時省力,而且對于動畫制作者來說,掌握一門與動畫相關的腳本語言在未來的發展道路中是相當有益的。
參考文獻:
[1] 亓鑫輝,張漢平.3ds Max影視特效火星課堂——腳本應用篇[M].北京:人民郵電出版社,2011.
[2] 邱建英.基于3ds Max的三維水墨動畫設計及應用研究[Z].
[3] 王華.3ds MAXScript腳本語言完全學習手冊[M].北京:北京科海電子出版社,2006:755-759.
作者簡介:高晶(1984—),女,山東青島人,北京大學碩士,青島農業大學動漫與傳媒學院講師,主要研究方向:計算機動畫。
唐俊(1984—),男,山東青島人,碩士,青島農業大學動漫與傳媒學院講師,主要研究方向:計算機動畫。endprint