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