摘 要:粒子運動和變化是三維動畫中常見的特效,僅僅通過Maya等三維軟件自帶的粒子制作系統(tǒng)不能高效、便捷的制作一些特定的粒子特效。文章對物體飄落特效的動畫模擬開發(fā)設(shè)計了一個基于MEL語言的腳本模塊,首先通過對物體真實飄落特征的分析將它們分為了小花瓣類、大花瓣類、薄片狀、絮狀四類物體,根據(jù)物體飄落的物理特性進行了受力分析,建立了物體飄落仿真模塊開發(fā)的計算模型,研究了四類物體的重力因子、阻力、風(fēng)力、旋轉(zhuǎn)速度等仿真參數(shù)。該模塊可快速制作物體飄落的動畫特效,同時能通過變量參數(shù)的修改反復(fù)變化動畫效果。
關(guān)鍵詞:Maya;粒子特效;動畫;MEL;腳本
中圖分類號:TP391.41 文獻標(biāo)志碼:A 文章編號:2095-2945(2018)05-0193-03
Abstract: Particle motion and change is a common special effect in 3D animation. The particle making system with Maya and other 3D softwares can not make some special effects efficiently and conveniently. In this paper, a script module based on MEL language is designed for the animation simulation of object falling effects. First of all, through the analysis of the real falling characteristics of objects, they are divided into small petals, large petals, thin flake, and flocculent, and according to the physical characteristics of the physical characteristics of physical analysis, the calculation model of object falling simulation module is established, and the simulation parameters such as gravity factor, drag force, wind force and rotation speed of four kinds of objects are studied. This module can quickly produce the object falling animation special effects, and meanwhile repeatedly change the animation effect through the variable parameter modification.
Key words: Maya; particle effect; animation; MEL; script
引言
煙霧、爆炸、物體飄落等常見的自然現(xiàn)象在三維動畫制作中都是通過粒子系統(tǒng)來制作的。這些特效的制作水平直接影響到動畫的整體逼真度,一些好的動畫作品,往往是通過這些粒子動畫的優(yōu)異表現(xiàn)來體現(xiàn)的。對開發(fā)者來說,僅僅用動畫軟件自帶的粒子系統(tǒng)去制作這些特效是遠遠不夠的,而且由于自帶粒子系統(tǒng)的針對性不強,做出的粒子特效往往強差人意,所以應(yīng)用MEL語言對Maya粒子系統(tǒng)進行二次開發(fā)是高階動畫制作者常見的建模手段。文中以物體飄落動畫為例,研究粒子特效動畫模塊的開發(fā)方法。
1 Maya粒子系統(tǒng)
在動畫制作中的特效制作主要有物理仿真系統(tǒng)與粒子模擬系統(tǒng),這兩個系統(tǒng)雖然在制作過程中要占用大部分的時間和系統(tǒng),但是經(jīng)過繁瑣復(fù)雜的工作之后往往能做出讓人覺得不可思議的逼真動畫效果和視覺體驗。這兩個系統(tǒng)常用在物體飄落、粒子運動、爆炸、火焰與云霧的動態(tài)效果上。
粒子是動畫場景中的點狀物體,它們可以組合變化成各種需要動畫模擬的對象。在制作粒子動畫時,首先要確定粒子出現(xiàn)和產(chǎn)生的位置和形式,再確定粒子的運動軌跡和運動方式,粒子的生命周期從它出現(xiàn)到它消失位置。粒子動畫可以循環(huán)運動生成整體逼真的動畫效果。粒子系統(tǒng)的主要優(yōu)點是可以通過簡單的粒子運動來模擬現(xiàn)實中的復(fù)雜物體運動。
Maya帶有粒子模擬系統(tǒng),這個自帶的模塊可通過菜單直接調(diào)用,但是這個自帶的模塊操作繁瑣,當(dāng)需要反復(fù)進行模擬測試的時候需要不斷切換菜單,重復(fù)性工作較多。對動畫制作的高階用戶和專業(yè)用戶來說,有些場景的制作在每個動畫項目中都可以多次用到,每次都通過系統(tǒng)自帶的粒子模擬系統(tǒng)已經(jīng)滿足不了特效制作的需要了?;贛aya的開放性,各種MEL語言制作的腳本插件應(yīng)運而生,比如渲染分層插件、綁定角色插件等等,這些插件都是為了快速實現(xiàn)一定的動畫制作功能而開發(fā)設(shè)計的。為了提高制作效率,更合理地為動畫制作項目分配系統(tǒng)資源可以用MEL語言編寫功能腳本代替Maya中傳統(tǒng)的手工重復(fù)操作方式來制作動畫特效。而且這種腳本還能不斷地根據(jù)實際效果和需要通過動態(tài)調(diào)整變量的方式來反復(fù)建模,反復(fù)修改。
對于物體飄落動畫來說,Maya本身自帶的參數(shù)調(diào)節(jié)和測試,也不一定能實現(xiàn)特定的仿真效果。依據(jù)場景開發(fā)的需要,對飄落物體進行受力和運動分析,再結(jié)合MEL語言在調(diào)用Maya自帶粒子模擬系統(tǒng)的同時進行腳本插件開發(fā)設(shè)計。
2 粒子特效動畫MEL腳本的關(guān)鍵問題
動畫制作常用的飄落物體主要有四類,分別是:小花瓣類花朵桃花,梅花等;大花瓣類花朵白玉蘭,荷花等;薄片狀植物竹葉,柳葉等;絮狀植物蒲公英,羽毛等。它們的飄落受力主要是重力的加速作用力和空氣阻力的減速。這些飄落物體的重力相同,但是由于各自的形狀和密度不同,受到的空氣阻力不同,進而在現(xiàn)實中它們在空氣中的飄落表現(xiàn)也不同。可以先對標(biāo)準(zhǔn)物體下落進行分析,再根據(jù)蒲公英、桃花、白玉蘭、柳葉各自的特點進行參數(shù)化設(shè)計。endprint
對規(guī)則物體飄落進行受力分析,物體飄落是由重力引起的,重力方向垂直向下,物體不同,重力影響因子G不同。在下落的過程中因為有空氣的存在,物體受到與運動方向相反的空氣阻力f。此外還有水平方向的風(fēng)以速度u吹來。物體飄落的軌跡可以用下面公式表示:
其中,S為物體受力截面,θ為物體落下的傾斜角,也就是運動軌跡與垂直方向的夾角。
物體受力截面積S可以根據(jù)下面公式求得:
P越小也就代表物體的飄落傾斜角θ越小,運動軌跡也就越水平; P增大,物體的飄落傾斜角θ也增大,運動軌跡也就越來越垂直。經(jīng)過分析重力影響因子G值從小到大排序,依次是蒲公英、桃花、柳葉、白玉蘭;空氣阻力f值從小到大的排序,依次是柳葉、桃花、蒲公英、白玉蘭。
上述研究只是考慮了飄落物體的質(zhì)量、密度、大小等基本情況,但是在實際生活中這些飄落物體的上述數(shù)據(jù)都不是均布的,在飄落過程中,也有可能轉(zhuǎn)動和翻滾,造成迎風(fēng)面受力和空氣阻力的起伏變化,所以在創(chuàng)建動畫時為了逼真模擬物體飄落,還需要考慮物體的旋轉(zhuǎn)速度。如果側(cè)面的風(fēng)速不發(fā)生變化,那么旋轉(zhuǎn)速度可以不變化,物體飄落且呈現(xiàn)周期性的擺動軌跡。對于上述四種飄落物體,Smax-Smin擺動值從小到大依次排序為桃花、白玉蘭、柳葉、蒲公英;m值從小到大排序,依次是蒲公英、桃花、柳葉、白玉蘭;所以白玉蘭擺動最小,其次是桃花,接著是柳葉,蒲公英的擺動最大。擺動的時候,它們的擺動頻率相同。
3 飄落粒子的參數(shù)
粒子飄落物體不同導(dǎo)致了飄落的形態(tài)和速度等視覺感官的不同。為了盡量做到真實飄落狀態(tài)的仿真,可以按照下列分類對腳本模塊進行參數(shù)設(shè)置。除列出的粒子飄落物體之外,對于不在范圍內(nèi)的其余粒子飄落物體,也可以依據(jù)他們和下列物體的形態(tài)和大小對比,自行調(diào)整相關(guān)參數(shù)數(shù)據(jù)再進行測試。
3.1 小花瓣類花朵桃花,梅花等的參數(shù)可以按如下進行設(shè)置
當(dāng)默認每秒飄落的花瓣數(shù)相同時,設(shè)置Gravity重力場為3.4-3.6,設(shè)置random隨機數(shù)為7.1,設(shè)置turbulence干擾場為55,設(shè)置decay衰減值為0-0.15,設(shè)置speed速度為0.6,設(shè)置Rate速率為0.15,設(shè)置Scale 縮放大小為4-12,設(shè)置air空氣力場為2.5,設(shè)置lifespan生命周期為2,設(shè)置Rotate Speed 旋轉(zhuǎn)速度為1.5。
3.2 大花瓣類花朵白玉蘭,荷花等的參數(shù)可以按如下進行設(shè)置
設(shè)置Gravity重力場為7.2-8.7,設(shè)置random隨機數(shù)為7.5,設(shè)置turbulence干擾場為65,設(shè)置decay衰減值為0-0.16,設(shè)置speed速度為0.6,設(shè)置Rate速率為0.15,設(shè)置Scale縮放大小為65-80,設(shè)置air空氣力場為2.5,設(shè)置lifespan生命周期為2,設(shè)置Rotate Speed旋轉(zhuǎn)速度為1.2。
3.3薄片狀植物竹葉,柳葉等的參數(shù)可以按如下進行設(shè)置
設(shè)置Gravity重力場為4.3-4.7,設(shè)置random隨機數(shù)為6.5,設(shè)置turbulence干擾場為69,設(shè)置decay衰減值為0-0.17,設(shè)置speed速度為0.6,設(shè)置Rate速率為0.15,設(shè)置Scale 縮放大小為35-60,設(shè)置air空氣力場為2.5,設(shè)置lifespan生命周期為2,設(shè)置Rotate Speed旋轉(zhuǎn)速度為0.9。
3.4 絮狀植物蒲公英,羽毛等的參數(shù)可以按如下進行設(shè)置
設(shè)置Gravity重力場為0.3-0.7,設(shè)置random隨機數(shù)為8.5,設(shè)置turbulence干擾場為45,設(shè)置decay衰減值為0-0.18,設(shè)置speed速度為0.6,設(shè)置Rate速率為0.45,設(shè)置Scale 縮放大小為55-110,設(shè)置air空氣力場為2.5,設(shè)置lifespan生命周期為2,設(shè)置Rotate Speed 旋轉(zhuǎn)速度為 0.6。
根據(jù)物體飄落的原理,相似的物體可以用同樣的模塊更換為相近的參數(shù)。在制作三維動畫時根據(jù)劇情需要設(shè)置飄落物體發(fā)射位置,根據(jù)場景中的動畫效果對參數(shù)進行調(diào)整和設(shè)置。
4 結(jié)束語
本文針對物體飄落動畫的系統(tǒng)插件模塊開發(fā)進行了分析和研究,經(jīng)過對Maya軟件自帶的粒子模擬系統(tǒng)的分析,依據(jù)飄落的物體的物理特性分成了小花瓣類、大花瓣類、薄片狀、絮狀四類物體,建立了物體飄落仿真模塊開發(fā)的計算模型,設(shè)定了這四類物體的仿真參數(shù)。運用MEL語言開發(fā)出該插件模塊之后,在動畫場景中分別對桃花、白玉蘭、柳葉、蒲公英四種飄落物體進行建模和動畫測試,驗證了論文中數(shù)學(xué)模型和建模參數(shù)的合理有效。
參考文獻:
[1]羅漢.MayaMEL動畫編程從入門到精通[M].北京:兵器工業(yè)出版社,2005.
[2]王澄宇.Maya腳本應(yīng)用手冊:表達式與MEL語言[M].北京:人民郵電出版社,2013.
[3]田玉婷.Maya的MEL語言在項目中的開發(fā)應(yīng)用[J].黑龍江科技信息,2007(22):100.
[4]張曉波.基于MEL語言的粒子飄落動畫模擬研究[D].上海:上海交通大學(xué),2013.
[5]劉娟娟.基于Maya MEL語言的數(shù)字媒體動畫控制技術(shù)的研究[J].電子技術(shù)與軟件工程,2015(1):115.
[6]吳文哲.MEL語言在Maya場景設(shè)計中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(3):65-67.
[7]夏航.MAYA軟件中使用MEL腳本設(shè)計粒子碰撞[J].中國現(xiàn)代教育裝備,2010(17):31-34.
[8]胡曉輝,萬嵩.基于軟件工程及其模型的課件開發(fā)研究[J].高教學(xué)刊,2015(23):95-96.
[9]Mark R.Wilkins.Maya動畫師MEL腳本編程全攻略[M].北京:電子工業(yè)出版社,2004
[10]單秀梅.基于Mel語言的CG仿真及其應(yīng)用[D].上海:上海交通大學(xué),2009.
[11]耿衛(wèi)東.數(shù)字動漫設(shè)計基礎(chǔ)[D].杭州:浙江大學(xué),2008.
[12]李志豪,李才應(yīng).Maya命令參考大全[M].北京:兵器工業(yè)出版社,2006.
[13]何偉.MEL腳本語言在數(shù)字集群動畫中的設(shè)計與實現(xiàn)[D].北京:北京工業(yè)大學(xué),2012.
[14]賀瞿.基于動力學(xué)原理的Maya粒子特效插件[D].上海:上海交通大學(xué),2011.endprint