2015/07/08

Color Map 與 Diffuse Map差別在哪?

原文:CGTalk / Color Map And Diffuse Map
編譯:Hammer Chen

這篇譯自CGTalk討論版。sidb84提問,幾位大咖如 Neil BlevinsJeremy Birn...等人提供寶貴意見。

= = = 以下為翻譯 = = =

sidb84問:「有沒有人可以跟我說Color Map 與 Diffuse Map這兩者有何不同?什麼是Color Map & Diffuse Map。如果可以請舉例。」

「這要看你用哪套軟體。很多軟體裡面diffuse 與 color map是一模一樣的東西。你用的3D軟體用那個算圖器?」Neil Blevins答



「幾乎是一樣的東西。 diffuse map是一個灰階的貼圖(表示diffuse的強度) 而color map則是RGB 兩者會在shader中相乘(multiplied together) 就像你在photoshop兩個圖層相乘那樣」render monkey答

「你必須理解diffusion才能獲得最佳的紋理貼圖效果,我覺得很多人是走color/spec/bump的模式。所以你真的問了一個很棒的問題」Derek Smith答

「可惜的是,有很多軟體裡面這兩者是一樣的。在3ds max中在Standard Material中的"Diffuse Map"就等於其他軟體的"Color Map"。新興產業就是會有這樣的狀況,專有名詞沒有標準化,因此很多相同概念的東西具有不同命名;而很多不同概念的東西專有名詞卻一樣」 Neil Blevins答

「沒錯!我知道在3ds max裡面是錯的。瘋了! 但這是很好的學習機會。在Maya或是其他的diffuse,請記住如果你不想用貼圖,至少你可以不用到diffuse全部的強度或是數值。  一般來說我會把材質中的數值調到85或90% ,然後再微調」 Derek Smith答

「Colour (或稱 diffuse) 與 diffuse strength (或 Kd, 或diffuse gain) 都對應一樣的數值。當光線從各個方向到達,這些數值會加乘,產生漫射的效果。唯一差別是給你不同程度的控制,例如RGB,另一個讓你控制整體的強度。我看過的所有shader都適用」

「真正的問題我覺得是要達到精確,真的需要使用科學命名法。當我在使用公司內部開發的shader我都會煩惱該用科學命名或是'TD friendly'對TD友善的命名法。每種命名都會產生某種程度的混淆」

「我聽說其他討論版也有專有名詞誤用的問題,例如反射與高光〈reflection and specular〉。  你可能會覺得拘泥於名詞會不會太賣弄學問,但是當你處理複雜特效時,名詞沒分清楚,很難做到精確的效果」

「我們甚至無法對strength/gain/Kd這些參數的名稱有一致的看法,我想就放棄接受吧!難道不是在pass 命名好之前我們就先合成了嗎?」render monkey答

「有些人把這兩個名詞視為不同的東西。對於color map 就是在模型表面繪製的主要顏色;而diffuse指的是,增加一個繪圖圖層,上面模擬出自身陰影或是類似烘焙的occlusion map 這是一種增加表面細節的手段。如果你這是你的製作方法,通常會把color map 會以tile的方式(重複)覆蓋表面,而diffuse map只覆蓋表面但是不tile。因此每個模型的凹陷處或是轉角可以各別地加深顏色,這樣的製作方式很方便,只要你把color map與diffuse map分成兩個不同圖層。」

「在Maya中使用PhongE shader 只要白的程度小於1 color也會影響高光的顏色,而diffuse對高光顏色不會有影響。再者,在Maya中,一旦你的顏色已經套用了貼圖,你就不能把材質的顏色調的更亮或是更暗。所以有第二級的頂層級讓你控制材質,這樣讓你可以快速地微調,且可以壓過亮度值(brightness) 即便是已經用multiplied合成在一起」  Jeremy Birn答

「講到重點了!我們通常會在調質感(Look and Development)階段尾聲時,再加上一個diffuse map,這樣可以把細節太小的問題修掉,讓其更有效地以貼圖產生陰影(efficiently shadowed properly)」render monkey答


[延伸閱讀]
The Science Of CG 渲染背後的科學

Neil Blevins的教學網頁 (站長推薦)

Jeremy Birn寫的書 「Digital Lighting and Rendering」 (站長推薦)
Post a Comment