摘 要:本文主要以常州清代篦箕巷三維虛擬制作為例,從建模、UV展開、光滑組設置、Normal-Map獲得等幾個方面,詳細闡述了次世代場景制作中,有關法線貼圖合理使用中的相關經(jīng)驗,希望對同行有所啟示。
關鍵詞:建模;UV展開;光滑組;法線貼圖
篦箕巷又稱“花市街”,位于常州城西古運河北岸,緊臨運河。由于常州自古以來就一直以制作篦箕和木梳而聞名,素有“宮梳名篦”和“常州梳篦甲天下”的盛譽。而這里整條街的人家都以制作梳篦為生,故乾隆南巡在此附近的毗陵驛登岸進城時,見沿街盡是生產(chǎn)和銷售梳篦的作坊和店鋪,便將此地賜為“篦箕巷”。篦箕巷3D模擬主要是借助次世代游戲場景制作技術完成,而次世代游戲場景制作技術又以法線貼圖使用為核心,故本文以篦箕巷制作中的相關經(jīng)驗為主,分析了法線貼圖在使用過程中的一些關鍵影響因素。
1 建模
次世代場景制作。首先,要求模型布線應該合理,這不但方便后面的UV展開,而且還方便后面的模型優(yōu)化。次世代風格的場景建議從中間模型或者高模做起,并且要盡量節(jié)省,每個點、每條邊都要有存在的意義,不需要所有的部件都在一個模型上建立出來,可以考慮用組合方式來制作,對于需要Normal Map來制作的要根據(jù)模型結構來決定,結構比較明顯的最好用模型來制作。那么什么樣才是結構明顯呢?這可以在制作場景或物件的時候,設定一個尺寸,比如說10cm,那么超過10cm的需要模型來制作,低于10cm的用normal map來制作,這樣會比較好控制模型的制作,也能準確地判斷今后的貼圖制作。
其次,在UV展開之前,必須確定多邊形物體是干凈的,整個場景是組織有序的,可以通過物體命名和分層來管理它們,而且注意使用outliner、delete History等工具和命令來刪除場景中不需要的節(jié)點。
再次,是要確保多邊形物體在結構上沒有錯誤,如可以通過執(zhí)行cleanup命令進行檢測后進一步優(yōu)化場景。為了確保所有的多邊形有正確的設置,可以使用backface Culling再看一下定位是否正確。下圖展現(xiàn)的是一些最為常見的多邊形模型出現(xiàn)錯誤的表征:
2 UV展開
UV是為貼圖所存在的,貼圖精度要符合項目要求所需要達到的分辨率,可以使用Checker(棋盤格)圖來進行檢查,而要避免物件之間分辨率有過大的差異。同時,UV的分法有很多,但目的是要UV在不拉伸的情況下,以最大的像素來顯示貼圖,如果不用數(shù)字型checker,那么用帶有顏色偏向的checker也可以達到目的。接下來則是將展好的UV進行重新布局,英文稱為Layout,其真實含義就是指各需要繪畫的部份在PS軟件的畫布上是如何被安排的。
為場景貼圖的繪制進行區(qū)域規(guī)劃,可以在PS中完成,也可以在手稿完成,但整個模型的UV部局應盡可能緊湊,并且大面積的模型表面要比小面積的模型表面在UV上將占用更多的空間。同時,將貼圖像素與模型場景大小之間維持一個統(tǒng)一的比率,如二者之比為128像素/米。
3 光滑組
光滑組定義了是否以邊緣清晰或邊緣光滑的方式來渲染曲面。如圖6示意:
沒有添加光滑組的模型即使使用了normal map,看起來也會讓人覺察到是低模,特別是在面與面的轉角處非常銳利。而模型一旦使用了光滑組,再通過normal map來擾亂法線,則會使模型看起來更像是高模。
光滑組的使用還涉及到模型點數(shù)的問題,有些項目會要求模型以點數(shù)來計算,而光滑組的使用會影響到模型點數(shù)的增加,這應根據(jù)項目不同要求有所不同。如果同時有3個或4個垂直90°的面連在一起,會顯示有黑的三角,要根據(jù)具體情況把UV給斷開,同時UV要拉開一些距離。Maya中的光滑組就是分軟硬邊,UV斷開的線為硬邊,其它為軟邊就OK。圖7展示的是在Maya中模型在Harden Edge與Sofen Edge模式下渲染的不同:
4 法線貼圖的獲得
法線貼圖(Normal Map)制作的順序不太一樣,對于一般物件來說直接使用高模烘焙最常見。如圖8所示:
Normal Map烘培有很多種方法,如直接在Maya或Max中進行,可以從Zbrush或MudBox中進行,也可以借助第三方軟件xNormal來進行。烘培后如果測試法線貼圖出現(xiàn)問題,則應重點檢查以下幾項:首先,低模法線是否正確;其次,低模光滑組(軟硬邊)設置是否正確;另外,在烘培中要注意高低模型的匹配,低模的Envelop要包裹高模;再次,共用的Normal的UV不可鏡像,烘培時需要把重疊的UV移開,同時垂直90°的三個面或更多UV相連,在烘培Normal Map時會有黑邊,故應該先把UV斷開,并把斷開的邊設置為硬邊,同時UV要移開一段距離;最后,如果高低模型面數(shù)差太多,包裹時會很不匹配,此時可以先給低模加些面,烘培之后再把多余的線刪掉。
Normal Map有時會從顏色貼圖(Diffuse Map)通過第三方軟件如CrazyBump等獲得,此時需通過分析顏色貼圖并制作Height Map(高度圖),HeightMap務必以層的方式開始制作,并使用灰度顏色來定義細節(jié),并逐漸把小細節(jié)融入HeightMap當中,這樣一步一步做下去,就能夠保證最終貼圖有最好的質量。
每一個HeightMap層都可以單獨轉換成Normal Map層,然后在疊加中將融合模式調成overlay。同時,那些需要加重效果的層可以單獨復制該層,并使用overlay方式使疊加效果發(fā)揮得更好。當然,每一層的強度可以通過降低層的透明度來降低,使用最大灰度范圍要確保細節(jié)清晰,這樣也能提升最終貼圖的質量。
就如在上面所提到的那樣,由于Normal Map 和Height Map都可以從Diffuse Map 中獲得。因此,Diffuse Map制作也是有要求的,其中最關鍵的是將投影(紋理貼圖中的陰影部分)修掉,并將固有色的明度差別減弱。如圖9所示:
之所以這樣做,是由于陰影的詮釋應該在三維場景渲染中或通過烘培燈光貼圖來實現(xiàn),Diffuse Map只需解決模型表面的紋理即可。而比較大塊面的細節(jié)有時通過三維建模并渲染Z-通道來實現(xiàn),然后配合原來Diffuse Map的去色相的圖進行拼合而成,在Height Map制作滿足細節(jié)要求后,就可以使用height map來制作Normal Map了。具體制作過程如圖12所示:
5 結語
法線貼圖目前在游戲、動畫、交互等領域應用極為廣泛,但是其使用效果卻受到很多因素的制約。正如在本文中所闡述的那樣,模型是否規(guī)范、UV規(guī)劃是否合理、法線柔化是否正確、Normal Map自身的獲得又是否合乎規(guī)則等都是不可忽略。因此,希望通過本文的分析,能幫助更多的CG從業(yè)人員減少其應用上的失誤,以便獲得更好的視覺效果。
參考文獻:
[1] 劉永剛.動畫模型制作技法及應用[M].南京:東南大學出版社,2010:89-106.
[2] Daniel Vijoi . Creating an Old Farm[EB/OL] . http://www.amc.ro/.
[3] 次世代游戲場景制作的注意事項[EB/OL] . http://www.dogame.com.cn/ bbs/viewthread.php?tid=91107.