?

基于MEL程序的印痕建模研究

2018-03-09 22:16胡曉輝余瀚欣
科技創新與應用 2018年7期
關鍵詞:印痕插件建模

胡曉輝+余瀚欣

摘 要:在動畫項目制作過程中常常需要制作印痕類的物體建模,采用傳統手動方式既費事費力,也無法保證建模的真實性和準確性。文中以三維腳印制作為例,利用MEL語言編寫了能快速建模的Maya模塊。該模塊通過分析腳底與地面的接觸關系,計算出地面出現腳印的形狀、深淺和時間,再利用bump mapping凹凸紋理映射法及Displacement mapping位移貼圖法根據腳印貼圖序列制作出地面上的三維腳印。這個模塊制作三維腳印的原理同樣可以用在其他三維印痕的制作。

關鍵詞:Maya;MEL;插件;印痕;建模

中圖分類號:TP391.41 文獻標志碼: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

引言

三維動畫制作已經在影視、媒體、教育等方面得到了廣泛的應用。三維動畫軟件Maya作為頂尖的行業軟件,以它功能強大,兼容性好等優點在通常作為首選的開發工具之一。在用Maya開發三維動畫作品的時候,常會遇到一些場景中一些移動的物體留下地面痕跡的建模,比如腳印、爪印等印痕的建模工作,這些印痕的建模往往是情節和日常生活中的真是場景必不可少的,但是這些印痕的建模又比較繁瑣,完全通過手工建模工作量大、準確性低。論文將以三維印痕中的腳印為例,運用Mel語言進行編寫腳本,制作一個能在Maya中快速建模的插件模塊。

1 建模開發思路

在Maya中,如果不考慮真實感細節特效的制作,有兩種方法可以實現產生凹凸三維效果:

一是bump mapping凹凸紋理映射法:

采用bump mapping凹凸紋理映射法制作的的凹凸效果并不是真實的三維模型存在凹凸,而是一種紋理映射,是一種視覺假象。一般是在渲染完成后的模型表面上疊加凹凸紋理,造成表面的亮度波動變化,進而使人在視覺上覺得形狀是凹凸的。bump mapping凹凸紋理映射法對計算機系統資源需求較少,也可以批量做出大量的凹凸映射,但是如果是近景鏡頭或者仔細觀察,還是較容易發現真實性不佳,所以bump mapping凹凸紋理映射法適合于制作遠景鏡頭中的凹凸效果。

二是displacement mapping位移貼圖法:

采用displacement mapping位移貼圖法通過真正改變模型幾何形狀的辦法來再現凹凸,所以這種方法對系統資源的占用也比較高。它可以制作比較精細的凹凸,所以適合于制作近景或者是特寫鏡頭中的凹凸效果。

無論是采用凹凸紋理映射法還是位移貼圖法制作凹凸效果,最終都需要進行表面貼圖。由于現實中印痕的出現往往是動態的、是逐步成型的,所以貼圖也應該是動態進行的,要表現出印痕逐步產生的過程,這些動態地貼圖就要采用動畫文件來粘貼制作。

在動畫項目制作中,場景是這樣的:人物走在沙地或者是泥土上,腳步踩進地面再抬起來,另外一只腳重復這個過程,如此往復在地面上留下一行凹凸的腳印痕跡。單個腳印因為人類行走通常是腳后跟先著地,然后整個腳板從后到前全部落地,地面在壓力下,腳印從后往前開始逐步凹下,外緣被擠壓凸出,最終形成整個腳印。從一個單一腳印形成到一連串腳印形成過程從時間上來講是動態的,從空間上來講造成了地面的凹凸變形。此外,在近景和特寫鏡頭中,根據現實的真實效果,還需要有陰影等細節表現。

動畫場景中的腳印是由腳步踩到地面形成的,也即是當腳板低于地面產生三維凹凸,就生成腳印了??梢愿鶕F實中腳印的出現原理來進行腳印的制作和貼圖。具體思路是:根據腳步下地面模型的凹凸落差來判斷是否生成腳印,腳印的大小和形狀與腳掌模型一樣,凹陷表面圖案可根據鞋底花紋復制,再設置其它細節和材質,最后以此為模型藍本,進行其余腳印的復制建模。

2 解決方案與制作方法

利用Maya中的凹凸特效之外,根據上述思路制作腳印效果還存在幾個問題:endprint

首先,該如何根據腳板地面的位置判斷生成腳印。由于地面可能坑洼不平和起伏,無法用地平面的水平坐標為基準確定是否生成腳印。

可以創建一個新的虛擬物體,把它的坐標位置確定為地面位置,在Maya中創建Locator,通過MEL語言geometryConstraint -w 12 $Ground_name “Foot_Locator”;將Locator和地面約束在一起來定義這個Locator貼著地面滑動來確定腳板踩到地面的位置。其中變量$Ground_name是要關聯的地面位置,Foot_Locator是這個新建的Locator名稱。通過這種方法,就可以將兩者的接觸面貼合在一起,即可以確定了這個Locator的Y軸坐標位置。

保證了Y軸坐標位置之后,就要依據腳步的軌跡確定Locator的X軸和Y軸坐標位置。因為腳板的形狀也是不平整的,采用腳板BoundingBox矩形的中心點位置坐標為腳板的位置。然后將腳板BoundingBox矩形的X軸和Y軸坐標參數賦值給Locator的X軸和Y軸坐標,這樣就可以保證隨著腳步軌跡Locator隨著腳板在地面上的位置移動。最后計算Locator和腳板之間的間隔,并且對這個間隔數值設置一個偏差值α,這個偏差值α允許腳板BoundingBox矩形的中心點可以比腳板最低點的位置有正負的細小偏差時也能復制腳板。

其次,腳板模型在復制之后會長時間保留,但在渲染階段并不是根據腳印出現才進行渲染的,這就需要另外控制腳印出現和消失的時間??梢岳貌馁|控制單獨對每一個復制的腳板模型用surface shader表面著色器定義材質,再通過材質操作out matte opacity對腳板的透明度進行控制。腳印出現的時間一般就是復制出新腳板模塊的時刻,在場景中可以設置腳印出現的前幾幀畫面漸變出現,在腳印需要消失的后幾幀畫面漸變為透明,使得腳印的變化不那么僵硬,更加顯得自然和真實。

為了保證近景鏡頭的細節清晰度,所以在創建腳印貼圖時設置垂直于地面的攝像機,通過選景框包含整個腳印范圍盡量使得模型貼圖最大化。設置好攝像機的鏡頭范圍后,為了降低建模和制作的系統資源占用率,都會把要對出現新腳印的地面單獨復制,如果是displacement mapping位移貼圖法還需要對凹凸模型進行平滑化設置,使得貼圖盡可能清晰。

設置好的攝像機位置可以控制Bump3D凹凸節點的相對位置,進而控制了Bump Projection,因此攝像機映射和Bump Projection選取范圍相同,所以保證了這種由貼圖控制bump mapping凹凸紋理映射法和displacement mapping位移貼圖法腳步和腳印變化的一致性。

3 結束語

論文根據在動畫制作過程中碰見的印痕制作問題,以腳印為例介紹了采用MEL程序快速建模的思路和方法。通過Mel語言程序,借助新建Locator和腳板BoundingBox矩形確定腳板踩出腳印的時間制作出腳印的模型貼圖,再利用bump mapping凹凸紋理映射法和displacement mapping位移貼圖法來實現地面上的腳印。通過這種原理制作的腳印動畫,可以應用到其它很多印痕動畫的制作之中,不僅可以是本文涉及到的人或者動物的腳印,也可以是場景中其它物體的運動造成的各種印痕。該方法制作的腳印建模,經過Mel程序實現和調試,證明用在腳印生成方面是可行的,此外降低了系統占有率,也便于實踐操作,具有很好的應用前景。

參考文獻:

[1]David A.D. Gloud.Maya 5編程全攻略[M].北京:電子工業出版社,2004.

[2]于海雯.Maya編程技術[J].電腦知識與技術,2013(36):8409-8410.

[3]李志豪,李才應.Maya 命令參考大全[M].北京:兵器工業出版社,2006.

[4]田玉婷.Maya的MEL語言在項目中的開發應用[J].黑龍江科技信息,2007(22):100.

[5]吳文哲.MEL語言在Maya場景設計中的應用[J].數字技術與應用,2010(3):65-67.

[6]胡曉輝,萬嵩.基于軟件工程及其模型的課件開發研究[J].高教學刊,2015(23):95-96.

[7]王澄宇.Maya腳本應用手冊:表達式與MEL語言[M].北京:人民郵電出版社,2013.endprint

猜你喜歡
印痕插件建模
物理建模在教與學實踐中的應用
在經歷中發現在探究中建模
思維建模在連續型隨機變量中的應用
用好插件瀏覽器標簽頁管理更輕松
刻舟求劍的人
求距求值方程建模
眼神
蝸牛的印痕
請個瀏覽器插件全能管家
基于jQUerY的自定義插件開發
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合