文/圖、楊欣儒老師

20111004pic000.jpg  


製作環境: Maya2010
 
      本次要介紹給大家的,是利用簡單的N-Cloth設定,製作出擬真的布料飄動效果,首先,我們先來建模吧!圖二是旗杆的完成品,而圖三則是旗桿貼圖前的樣子,我們可以利用透明貼圖的方式將三角形的旗面製作出來,而不必真的將模型如此建構。這部份稍後會提到。

20111004pic001.jpg  
20111004pic002.jpg  

 《旌旗模型》 
     首先,我先製作一個Polygon平面,其經緯線為15X15【數字越多表現越自然,但是計算量也會變大,請自行斟酌】,並將它立起來(RotateX轉90度);注意Maya N-Cloth只作用在Polygon上,因此不要使用NURBS喔!接著我再用Polygon Cycliner(圓柱)製作旗竿的部份,Subdivisions Axis使用預設的20即可,並在頂頭放一顆Polygon的Sphere(球體),也直接使用預設的數值,調整三者間相互的大小與距離,最後如下圖所示。
20111004pic003.jpg 
 旗頭的部份我想做一個槍頭的造型,於是我先用EP Curve畫出其一半的輪廓。20111004pic004.jpg

再鏡向複製到左邊。

 20111004pic005.jpg

將下方缺口處用EP Curve工具封住,注意附前此輪廓應該為封閉狀態,沒有對外的缺口,否則會影響到下一步驟的執行。

 

20111004pic006.jpg
   
接著,選取這三條線段後,選取Surface模組下的Surfaces > Planar,並開啟其設定視窗,設定如圖:由於我的目的是要產生一個多邊形的平面,然後延伸出厚度,所以我希望Planar指令直接產生Poly物件供我使用,因此在Output Geometry設定我選擇Polygons,Type則選擇Quads(四邊形),而Tessellation Method(細分法則)則選General(一般設定),並提高其Number U與V的數值,這麼一來槍頭的輪廓就會比較圓順平滑了。20111004pic007.jpg
   
如果覺得輪廓還不夠圓滑,可以選取下圖模型後,到右邊的History列去增加U或V的數值。
20111004pic008.jpg   
執行Polygons模組下的Edit Mesh > Extrude延伸出槍頭的厚度(圖10),
並擺放到旗杆頂端 (圖11)

20111004pic009.jpg
(圖十)
20111004pic0010.jpg   
(圖十一. 模型完成)

為了讓我在Photoshop順利繪製貼圖,我需要旗面的UV網格做位置參考,於是我選取了旗面,並用Planar Mapping平面投影,延Z軸投射出UV網格,並輸出成PNG檔。

20111004pic0011.jpg  
然後我到Photoshop開啟這張PNG檔,並在其他圖層配上布料等等材質圖片。20111004pic0012.jpg  

為了讓旗面部份透明,我需要一張黑白的透明貼圖如下,注意,無論是輸出透明貼圖或是色彩貼圖,都要記得關閉UV參考網格圖層,否則貼圖後模型上可是會罩一層網子喔!貼圖製作完成後,我輸出為tga檔。

20111004pic0013.jpg  
回到MAYA,開啟Window > Rendering Editors > Hyper Shade視窗
製作一顆Lambert材質球,並匯入剛剛的兩張tga檔,將顏色貼圖指定給材質球的color選項,透明貼圖指定給Transperancy選項。

20111004pic0014.jpg  

然後將材質球指定給旗面模型,便完成了貼圖製作了,至於旗桿與槍頭等等次要部份,我直接使用材質球本身的調色,賦予他們不同的顏色即可。下圖是完成貼圖後的模型。
20111004pic0015.jpg   
(圖十六. 貼圖完成)
接著,我們要開始使用N-Cloth了!到N-Dynamic模組下,選取旗面模型後,執行nMesh > Create nCloth,完成後旗面上會出現一個小點。

20111004pic0016.jpg  
現在如果按播放動畫的話,會發現旗面整個往下掉,原因是我們還沒將旗面釘在旗桿上,而nCloth本身帶有重力與風力等設定,於是旗面就被重力拉下了。
20111004pic0017.jpg  

選取旗面最靠近旗桿的一排控制點,壓住Shift選旗桿,執行nConstraint > Point to Surface,會產生幾排小綠點,代表雙方已經縫合(功能上)。

20111004pic0018.jpg  20111004pic0019.jpg  

再按一次播放,這次旗面很自然地垂下!
20111004pic0020.jpg  

為了避免旗面擺動時與旗桿穿插,造成穿幫,我們需要將旗桿設定為碰撞偵測物件,讓旗面知道其桿的存在,因此先選旗桿,執行nMesh > Create Passive Collider。旗桿亦會出現一個圓點。
20111004pic0021.jpg   
(圖二十二. 製做碰撞偵測器)
20111004pic0022.jpg   
(圖二十三. 碰撞比較)

最後,我們來調整nCloth內的風力與重力設定,讓旗幟飄動!選取旗面,按下Ctrl+A開啟屬性視窗,選取nucleus1標籤,參考設定如下:
Gravity: 重力
Gravity Direction: 重力方向
Wind Speed: 風速
Wind Direction:風向【下方為XYZ軸向設定】
20111004pic0023.jpg  
(圖二十四. nCloth的重力與風力設定)

最後提醒大家一點,由於布料模擬須逐影格運算,所以播放時請從第一影格開始模擬,才不會造成計算錯誤喔!

 

20111004pic0024.jpg  

 2011-10-14.gif    

, , , , ,

lccnetvip 發表在 痞客邦 PIXNET 留言(0) 人氣()