當前位置:編程學習大全網 - 編程語言 - maya怎麽把東西做舊

maya怎麽把東西做舊

使用 Photoshop,Maya 完成

效果圖:

本文寫於2004年初,壹篇比較古老的教程。

"做舊"壹直是制作真實感3D效果不可缺少的因素。

我們先看幾張現實中的照片,並分析壹下他們的特點:

圖(01)這是壹張非常典型的具有磨損效果的銅制器具的照片。

圖(02)同樣是壹張表現具有磨損效果的石柱照片。

圖(C)這尊佛像同樣是磨損效果的典型範例。

從以上三張照片我們不難發現所謂磨損效果的特點。觀察壹下他們的表面,凡是突起的部分,都因手的長期摩擦而顯得異常光亮,而壹些內凹的轉折拐角兒處,由於平時手很難觸及得到,或有壹些臟物無法清除,顏色顯得較深(或顏色跟本不同),質地也較粗糟。

如果是在MAX中,事情可能會變得相對簡單,因為MAX有專門針對這種效果的外掛插件。但MAYA中,沒有直接提供這樣的功能,也沒有有針對性的插件可以用。網上曾經看到過壹個關於這方面問題的討論,但討論是基於Renderman展開的,做為壹般的3D制作人員來說,Renderman是極難掌握的。我曾經多次在網上的壹些論壇提過是否可以通過MAYA自身的節點連接制作這種效果的問題,但始終沒有得到滿意的答案。看來除非編程,否則用maya自身的材質節點網似乎很難辦到。想來想去,通過手工繪制帖圖來模擬成為唯壹的手段了。但是這種帖圖繪制起來將會是非常麻煩的,尤其對那些非常復雜的模型來說(比如像有豐富細節的雕塑等等)。既然手工繪制帖圖成為唯壹的手段,那麽,我們現在思考的重心就是:能否通過什麽方法來加速這個繪制帖圖的過程呢,如果能讓 MAYA幫我們自動完成壹些什麽的話…那就好了。

偶然間我想到了GI,大家可能會說,這和GI有什麽關系。呵呵~~~是啊,表面上沒什麽關系。但仔細想想,他們在效果上是不是感覺有某種程度的類似呢?我們想象壹下,假如上面的佛像是壹個3D模型,並用GI將它渲染出來。是否也會是像我們前面所講的"佛像的突起部分會比較亮,而壹些內凹的轉折拐角兒處,會比較暗呢!(網上類似的素模GI渲染圖很多,大家可以找些來觀察壹下)"喔~好像是差不多…既然是這樣,那麽我們只要將GI對模型的光照效果記錄成為壹張帖圖,那麽這張帖圖上保留的不正是我們想要的東西嗎!那麽,思路就理出來了:通過將GI效果烘培成帖圖來代替手工繪制的帖圖。當然,這樣生成的可能還不算太精確(畢竟G和磨損完全是兩回事,盡管他們效果上類似),所以帖圖還需要經過Photoshop或DEEP paint 3D進壹步修繕才能得到較好的效果。但即便如此,這也將大大的加速制作過程。

首先,我從模型庫中找到壹個雅典娜神像的多邊形模型做為演示模型。將模型導入MAYA,並為其賦予壹個Lambert材質。(如圖04)

GI效果,我用了GI_Joe這個插件來模擬。可能很多朋友都用過這個maya的插件,他通過在場景中建立燈光陣列來模擬GI效果,出來的效果很不錯,速度也較快。(這裏,最好使用2.1版本,舊的版本在進行烘培帖圖操作時可能會遇到問題),GI_Joe建立的燈光陣列是由兩組組成的(SkyLight和GroundLight)。按如(圖05)方式設置,建立為16/16的燈光陣列。

陣列建立好後,先按默認參數設置渲染,看壹下效果。(如圖06)

我們發現,在默認參數下渲染的效果很不滿意,光線太暗,GI效果也不強烈。試著調節GI_Joe的相關參數,以達到比較滿意的效果。如圖07所示,對於修改過的參數,我用不同的顏色分別進行了標記。下面分別說明壹下這些參數的含義。(註意:如上面所述,GI_Joe的燈光陣列是由兩組組成的。所以圖07中的每種參數也各有兩個。)

紅框參數:這是SkyLight和GroundLight的燈光顏色屬性,默認狀態為壹個偏藍,壹個偏黃。由於我們只是想利用他們的亮度信息,所以這裏將這兩個顏色屬性都改為純白色。

綠框參數:這個參數控制燈光陣列的亮度,如前面(圖06)所示,默認的渲染效果太暗,所以這裏我們加大這個參數值。(圖中統壹設置為了0.25)

藍框參數:這個參數是打開燈光陣列的陰影,默認狀態GroundLight的陰影是關閉的,這裏把他們都設置為On狀態。

黃色參數:陰影顏色。默認為黑色,這裏我們將其值調到-0.4左右。以使暗部的效果更暗,來增強其效果。(註意:由於顏色亮度為負值,所以菜單窗口中顯示為不準確的灰色)

紫色參數:這是深度貼圖陰影的尺寸值。增加它可以強化明暗的變化。這裏將其值由默認的128提升至512(註意,加大此值會使渲染速度變慢)

修改完成後,再次渲染。(圖07)中右側為新的渲染圖。效果已經比默認狀態好了很多,基本上能滿足要求了。

在烘培貼圖之前,我們還要把模型的貼圖坐標完全展開。這個應該很容易理解了,因為如果坐標有重疊,則無法烘培出正確的貼圖。為了簡單起見,可以使用Edit Polygons--->Texture--->Automatic Mapping將貼圖坐標自動展開。如(圖08)

坐標展開後,開始烘培貼圖(所謂烘培貼圖就是把模型受的光照及陰影的影響都記錄到壹張貼圖上),相信在遊戲制作過程中經常會用到類似的功能。

方法如(圖09)所示。打開MAYA的Hypershade窗口,同時選中模型和模型的材質球,選擇Hypershade窗口Edit菜單下的 Convert to File Texture(Maya Software)右側的小方塊兒,打開烘培貼圖的設置面板。

打開"Bake Shading Group Lighting"和"Bake Shadows"以使生成的貼圖記錄下光照和陰影的信息。X Resolution和Y Resolution用來設置生成貼圖的尺寸,這裏設置得大壹些,1600*1600,文件格式設成TGA(也可自定)如(圖10)

參數設置好後,點Convert鈕,稍作等待…(因速度不同,較慢的電腦可能會花幾分鐘時間)

經過壹段時間的計算,MAYA會在當前的工程目錄中生成壹個圖像文件。通過觀察可能會覺得某些方面還並不十分滿意,我們可以在Photoshop中將它打開,進行壹些編輯,比如調整亮度、對比度等等。如(圖11)

註意此時場景中模型的材質已經因執行了"Convert to File Texture(Maya Software)"而變成了"Surface Shader"類型材質。刪除這個材質,並重新建立壹個默認的Lambert材質賦給模型。將剛才生成並經過Photoshop處理過的圖片帖到 Lambert材質的Incandescence屬性上(註意:帖圖的Filter Typer類型應該改為OFF,否則渲染出來可能會產生比較嚴重的類似裂痕的效果,這是由於帖圖坐標比較碎,導致坐標與坐標的邊界處產生的接縫。如圖 12),並將Color屬性調成黑色。

刪除GI_Joe生成的燈光陣列,因為光照信息已經被保存在帖圖上了,此時我們已經不需要它。

用默認燈光渲染壹張看壹下。效果如(圖13),看壹下渲染效果,基本滿意。但做為磨損效果,畢竟和GI效果是不完全相同的,所以壹些局部不合理的地方還需要修改,另外,可能有時候還是會有少量的前面提到的接縫存在,這時都可以借助像DEEP paint 3D這樣的軟件來做更細致的修復。

進行到這裏。最重要的也是最繁瑣的事已經完成了,剩下的就是利用這張圖來制作各種不同質感的磨損效果了。(這張圖其實通常是做為蒙板用),比如建立壹個多層材質或多層帖圖,用生成的這張圖做為通道蒙板,這樣不同的區域就有不同的材質效果。簡單起見以平面圖為例說明壹下,如(圖14)

(圖15)是我調的金屬效果,最左邊的圖是沒有加入磨損效果的,我們發現他顯得很不真實;中間的加入了磨損效果,效果就好多了;最右邊的又加入了環境反射,這使渲染效果顯得更加豐滿了。

(圖16)這是這個金屬材質的節點網,這裏就不做過多介紹了。

在新出的maya 5.01中,集成的Mental Ray也新加入了烘培帖圖的功能,所以應該也可以用Mental Ray來代替GI_Joe產生GI效果並生成帖圖。關於這個我沒有具體去試,大家有興趣的話可以試試看。

  • 上一篇:對於幾乎是零基礎的人,直接學 Python 編程合適嗎
  • 下一篇:了解面向過程和面向對象
  • copyright 2024編程學習大全網