胡曉輝+余瀚欣
摘 要:在動(dòng)畫項(xiàng)目制作過程中常常需要制作印痕類的物體建模,采用傳統(tǒng)手動(dòng)方式既費(fèi)事費(fèi)力,也無法保證建模的真實(shí)性和準(zhǔn)確性。文中以三維腳印制作為例,利用MEL語言編寫了能快速建模的Maya模塊。該模塊通過分析腳底與地面的接觸關(guān)系,計(jì)算出地面出現(xiàn)腳印的形狀、深淺和時(shí)間,再利用bump mapping凹凸紋理映射法及Displacement mapping位移貼圖法根據(jù)腳印貼圖序列制作出地面上的三維腳印。這個(gè)模塊制作三維腳印的原理同樣可以用在其他三維印痕的制作。
關(guān)鍵詞:Maya;MEL;插件;印痕;建模
中圖分類號:TP391.41 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2018)07-0014-02
Abstract: In the process of making animation project, it is often necessary to make the object modeling of imprints, and it is difficult to use the traditional manual method, and the authenticity and accuracy of the modeling can not be guaranteed. Taking the three-dimensional footprint making as an example, the Maya module which can model quickly is compiled by using MEL language. This module calculates the shape, depth and time of footprints by analyzing the contact relationship between foot soles and ground. Using bump mapping concave and convex texture mapping method and displacement mapping method, the three-dimensional footprints on the ground are made according to the footprint mapping sequence. This module can also be used in the production of other three-dimensional prints.
Keywords: Maya; MEL; plug-in; imprint; modeling
引言
三維動(dòng)畫制作已經(jīng)在影視、媒體、教育等方面得到了廣泛的應(yīng)用。三維動(dòng)畫軟件Maya作為頂尖的行業(yè)軟件,以它功能強(qiáng)大,兼容性好等優(yōu)點(diǎn)在通常作為首選的開發(fā)工具之一。在用Maya開發(fā)三維動(dòng)畫作品的時(shí)候,常會(huì)遇到一些場景中一些移動(dòng)的物體留下地面痕跡的建模,比如腳印、爪印等印痕的建模工作,這些印痕的建模往往是情節(jié)和日常生活中的真是場景必不可少的,但是這些印痕的建模又比較繁瑣,完全通過手工建模工作量大、準(zhǔn)確性低。論文將以三維印痕中的腳印為例,運(yùn)用Mel語言進(jìn)行編寫腳本,制作一個(gè)能在Maya中快速建模的插件模塊。
1 建模開發(fā)思路
在Maya中,如果不考慮真實(shí)感細(xì)節(jié)特效的制作,有兩種方法可以實(shí)現(xiàn)產(chǎn)生凹凸三維效果:
一是bump mapping凹凸紋理映射法:
采用bump mapping凹凸紋理映射法制作的的凹凸效果并不是真實(shí)的三維模型存在凹凸,而是一種紋理映射,是一種視覺假象。一般是在渲染完成后的模型表面上疊加凹凸紋理,造成表面的亮度波動(dòng)變化,進(jìn)而使人在視覺上覺得形狀是凹凸的。bump mapping凹凸紋理映射法對計(jì)算機(jī)系統(tǒng)資源需求較少,也可以批量做出大量的凹凸映射,但是如果是近景鏡頭或者仔細(xì)觀察,還是較容易發(fā)現(xiàn)真實(shí)性不佳,所以bump mapping凹凸紋理映射法適合于制作遠(yuǎn)景鏡頭中的凹凸效果。
二是displacement mapping位移貼圖法:
采用displacement mapping位移貼圖法通過真正改變模型幾何形狀的辦法來再現(xiàn)凹凸,所以這種方法對系統(tǒng)資源的占用也比較高。它可以制作比較精細(xì)的凹凸,所以適合于制作近景或者是特寫鏡頭中的凹凸效果。
無論是采用凹凸紋理映射法還是位移貼圖法制作凹凸效果,最終都需要進(jìn)行表面貼圖。由于現(xiàn)實(shí)中印痕的出現(xiàn)往往是動(dòng)態(tài)的、是逐步成型的,所以貼圖也應(yīng)該是動(dòng)態(tài)進(jìn)行的,要表現(xiàn)出印痕逐步產(chǎn)生的過程,這些動(dòng)態(tài)地貼圖就要采用動(dòng)畫文件來粘貼制作。
在動(dòng)畫項(xiàng)目制作中,場景是這樣的:人物走在沙地或者是泥土上,腳步踩進(jìn)地面再抬起來,另外一只腳重復(fù)這個(gè)過程,如此往復(fù)在地面上留下一行凹凸的腳印痕跡。單個(gè)腳印因?yàn)槿祟愋凶咄ǔJ悄_后跟先著地,然后整個(gè)腳板從后到前全部落地,地面在壓力下,腳印從后往前開始逐步凹下,外緣被擠壓凸出,最終形成整個(gè)腳印。從一個(gè)單一腳印形成到一連串腳印形成過程從時(shí)間上來講是動(dòng)態(tài)的,從空間上來講造成了地面的凹凸變形。此外,在近景和特寫鏡頭中,根據(jù)現(xiàn)實(shí)的真實(shí)效果,還需要有陰影等細(xì)節(jié)表現(xiàn)。
動(dòng)畫場景中的腳印是由腳步踩到地面形成的,也即是當(dāng)腳板低于地面產(chǎn)生三維凹凸,就生成腳印了??梢愿鶕?jù)現(xiàn)實(shí)中腳印的出現(xiàn)原理來進(jìn)行腳印的制作和貼圖。具體思路是:根據(jù)腳步下地面模型的凹凸落差來判斷是否生成腳印,腳印的大小和形狀與腳掌模型一樣,凹陷表面圖案可根據(jù)鞋底花紋復(fù)制,再設(shè)置其它細(xì)節(jié)和材質(zhì),最后以此為模型藍(lán)本,進(jìn)行其余腳印的復(fù)制建模。
2 解決方案與制作方法
利用Maya中的凹凸特效之外,根據(jù)上述思路制作腳印效果還存在幾個(gè)問題:endprint
首先,該如何根據(jù)腳板地面的位置判斷生成腳印。由于地面可能坑洼不平和起伏,無法用地平面的水平坐標(biāo)為基準(zhǔn)確定是否生成腳印。
可以創(chuàng)建一個(gè)新的虛擬物體,把它的坐標(biāo)位置確定為地面位置,在Maya中創(chuàng)建Locator,通過MEL語言geometryConstraint -w 12 $Ground_name “Foot_Locator”;將Locator和地面約束在一起來定義這個(gè)Locator貼著地面滑動(dòng)來確定腳板踩到地面的位置。其中變量$Ground_name是要關(guān)聯(lián)的地面位置,F(xiàn)oot_Locator是這個(gè)新建的Locator名稱。通過這種方法,就可以將兩者的接觸面貼合在一起,即可以確定了這個(gè)Locator的Y軸坐標(biāo)位置。
保證了Y軸坐標(biāo)位置之后,就要依據(jù)腳步的軌跡確定Locator的X軸和Y軸坐標(biāo)位置。因?yàn)槟_板的形狀也是不平整的,采用腳板BoundingBox矩形的中心點(diǎn)位置坐標(biāo)為腳板的位置。然后將腳板BoundingBox矩形的X軸和Y軸坐標(biāo)參數(shù)賦值給Locator的X軸和Y軸坐標(biāo),這樣就可以保證隨著腳步軌跡Locator隨著腳板在地面上的位置移動(dòng)。最后計(jì)算Locator和腳板之間的間隔,并且對這個(gè)間隔數(shù)值設(shè)置一個(gè)偏差值α,這個(gè)偏差值α允許腳板BoundingBox矩形的中心點(diǎn)可以比腳板最低點(diǎn)的位置有正負(fù)的細(xì)小偏差時(shí)也能復(fù)制腳板。
其次,腳板模型在復(fù)制之后會(huì)長時(shí)間保留,但在渲染階段并不是根據(jù)腳印出現(xiàn)才進(jìn)行渲染的,這就需要另外控制腳印出現(xiàn)和消失的時(shí)間??梢岳貌馁|(zhì)控制單獨(dú)對每一個(gè)復(fù)制的腳板模型用surface shader表面著色器定義材質(zhì),再通過材質(zhì)操作out matte opacity對腳板的透明度進(jìn)行控制。腳印出現(xiàn)的時(shí)間一般就是復(fù)制出新腳板模塊的時(shí)刻,在場景中可以設(shè)置腳印出現(xiàn)的前幾幀畫面漸變出現(xiàn),在腳印需要消失的后幾幀畫面漸變?yōu)橥该?,使得腳印的變化不那么僵硬,更加顯得自然和真實(shí)。
為了保證近景鏡頭的細(xì)節(jié)清晰度,所以在創(chuàng)建腳印貼圖時(shí)設(shè)置垂直于地面的攝像機(jī),通過選景框包含整個(gè)腳印范圍盡量使得模型貼圖最大化。設(shè)置好攝像機(jī)的鏡頭范圍后,為了降低建模和制作的系統(tǒng)資源占用率,都會(huì)把要對出現(xiàn)新腳印的地面單獨(dú)復(fù)制,如果是displacement mapping位移貼圖法還需要對凹凸模型進(jìn)行平滑化設(shè)置,使得貼圖盡可能清晰。
設(shè)置好的攝像機(jī)位置可以控制Bump3D凹凸節(jié)點(diǎn)的相對位置,進(jìn)而控制了Bump Projection,因此攝像機(jī)映射和Bump Projection選取范圍相同,所以保證了這種由貼圖控制bump mapping凹凸紋理映射法和displacement mapping位移貼圖法腳步和腳印變化的一致性。
3 結(jié)束語
論文根據(jù)在動(dòng)畫制作過程中碰見的印痕制作問題,以腳印為例介紹了采用MEL程序快速建模的思路和方法。通過Mel語言程序,借助新建Locator和腳板BoundingBox矩形確定腳板踩出腳印的時(shí)間制作出腳印的模型貼圖,再利用bump mapping凹凸紋理映射法和displacement mapping位移貼圖法來實(shí)現(xiàn)地面上的腳印。通過這種原理制作的腳印動(dòng)畫,可以應(yīng)用到其它很多印痕動(dòng)畫的制作之中,不僅可以是本文涉及到的人或者動(dòng)物的腳印,也可以是場景中其它物體的運(yùn)動(dòng)造成的各種印痕。該方法制作的腳印建模,經(jīng)過Mel程序?qū)崿F(xiàn)和調(diào)試,證明用在腳印生成方面是可行的,此外降低了系統(tǒng)占有率,也便于實(shí)踐操作,具有很好的應(yīng)用前景。
參考文獻(xiàn):
[1]David A.D. Gloud.Maya 5編程全攻略[M].北京:電子工業(yè)出版社,2004.
[2]于海雯.Maya編程技術(shù)[J].電腦知識與技術(shù),2013(36):8409-8410.
[3]李志豪,李才應(yīng).Maya 命令參考大全[M].北京:兵器工業(yè)出版社,2006.
[4]田玉婷.Maya的MEL語言在項(xiàng)目中的開發(fā)應(yīng)用[J].黑龍江科技信息,2007(22):100.
[5]吳文哲.MEL語言在Maya場景設(shè)計(jì)中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(3):65-67.
[6]胡曉輝,萬嵩.基于軟件工程及其模型的課件開發(fā)研究[J].高教學(xué)刊,2015(23):95-96.
[7]王澄宇.Maya腳本應(yīng)用手冊:表達(dá)式與MEL語言[M].北京:人民郵電出版社,2013.endprint