網頁

2010年3月1日 星期一

Kerkythea 使用心得 - 材質設定(Bump/Nornal maps)

先前文章"Kerkythea 使用心得 - 材質及光學測試"探索關於材質的設定是以 Kerkythea 所附 Basic Material Pack的幾個材質套用的結果,測試的重點是在於玻璃材質的折射效果以及地磚的簡單凹凸貼圖(bump map)的效果。本文的內容則是關於 Kerkythea 裏細緻紋理的設定及彩現效果的測試。

在3D彩現的領域,彩現結果品質的好壞端賴於彩現人員對於貼圖材質的設定參數的調整,而其中的凹凸貼圖(Bump Map)及法向量貼圖(Normal Map)若能先作基本參數的掌握,彩現成果的品質會容易得到一個合理的材質光影反應的結果。

凹凸貼圖 (Bump Map) 是用於設定材質表面凹凸起伏紋理,通常是以材質本身的影像圖的灰階值(灰階圖像)作為表面起伏的描述。這基本上是一個老早就應用於 2D 影像處理軟體中的光影處理,像是 Paint Shop Pro 6的版本中就有一個 "Sculpture" 的效果濾鏡,可以依影像的灰階值設定相對高程差異的強度、單一平行光源的射向(水平角及仰角)及強度和顏色。這樣的特性應用於 3D彩現中的結果,是可以很容易設定表面凹凸紋理及得到"陰影"的效果。

法向量貼圖(Normal Map) 是用於輔助設定材質表面凹凸起伏紋理對於光的反射量強度反應。凹凸貼圖只能提供材質表面紋理的高程差異特性,原因是凹凸貼圖係以灰階圖像描述,對於局部曲面特性向量而言相當於只有 (0,0,z)的幾何資訊。若要提供光的反射量強度反應,必須能提供 (x,y,z) 三個局部曲面特性向量的資訊才合理。而全彩圖像(bmp/jpg/png 等)的 RGB值正好有三個獨立項與 xyz 對應,因此若材質紋理圖像亦另有一個專用於描述局部曲面特性的全彩圖以令(R,G,B)=(x,y,z),即可於3D彩現軟體中有效掌握材質對於光的反射量強度反應。

通常法向量貼圖(Normal Map) 得另行製作,網路資源也有許多關於如何製作的教學(Normal map 製作教學手冊CREATING AND USING NORMAL MAPS - A Tutorial),或是如何利用高面數模型的彩現結果折UV圖後作為低面數的法向量貼圖(用Zbrush製作Normal map的基礎教學在Zbrush裡頭輸出Normal Map以及Displacement Map)。另外,利用2D影像處理軟體也是一個方法,可以藉由 NVIDIA Plug-ins for Adobe Photoshop或是 Gimp Normalmap plugin 的濾鏡去製作。

雖然原理上很單純,但製作 Normal Map 似乎在某種程度上是要有些技術,尤其朋友們若是使用一些"正規""專業"軟體如 3D Max、Maya等"耳熟能詳"的昂貴軟體的話,製作好的 Normal Map 可是基本功夫之一。

但是在 Kerkythea 中則提供一個"懶人"法可以無痛得到 Normal Map 且彩現效果的光反應亦尚合理。說那是"懶人"法是有些揶揄的講法,應說是一種"Smart" 的功能。在 Kerkythea 的材質設定選項的 Normal map設定中,可以先利用材質本身的全彩影像圖源作為紋理的凹凸描述(等同於 Bump Map)後,再疊套以程式所提供程序貼圖選項( Procedural Selections)中的"Normal Ramp Texture"即成。程序上相當於在凹凸表面上蒙上一面軟膠膜般,那軟膠膜所形成的曲面即為該凹凸紋理的法向量定義描述。這是相當 smart 的作法,也是將原本需另行以類似程序製作Normal Map的過程整合進來並簡便化。其效果如何?這相信也是朋友必然會關心的問題,筆者也作了一些測試如下。

1. 這是一個在 Google Sketchup 建立的簡易模型,地面及牆壁、天花板均是以 Sketchup 的材質貼附的,三個曲面型的皮革材質組件則是以 Coja-Leather-EXP.jpg 為材質貼附而成。場景的單一投射光設定則請參考下圖右方的 Kerkythea 彩現成果,筆者是將投射目標指定為皮革組件的後方牆角。
2. 接著先作簡易測試,以材質本身為源檔設定地面、牆壁的各個 Bump Maps(強度均設定為3),結果如下圖右側所示。而三個皮革組件的材質設定則由下往上依序為:下面組件不設定任何 Bump/Normal Map,中間組件僅依材質本身設定 Bump Map (強度為 2),上面組件則設依材質本身設定 Bump Map (強度為 1)及 Normal Map。於僅設定 Bump Maps 的情形之下,地面、牆壁的立體感效果是還不錯的,皮革材質的顆粒感也頗顯著,但最上面的皮革組件表面的受光反應則不合理。
3.接著將最上面皮革組件的 Normal Map設定內容,疊套一個 Normal Ramp Texture 的程序法向量,彩現結果如下圖右側,皮革受光的反應結果似乎合理多了。
最後再貼附一個影像立體圖,並請到訪朋友自行點按放大後以"交叉法"檢視,感受其中的3D立體效果。
(2010-0226 狄斯唐工程顧問 公司內訓)

2 則留言:

請吃飯 提到...

很耐斯的部落格,留言支持你繼續加油........................................

林冠宏 提到...

感謝支持。