簡單地說,法線貼圖技術就是把一個平面細分成很多小鏡子。 由法線貼圖指定鏡子擺的角度,紋理貼圖指定鏡子上畫的圖樣。
法線貼圖就是讓著色器更真實地處理光線反射
平面設計、化妝、修片,常用加上陰影來增加立體感的技巧也被用在3D繪圖上
這就是今天的主題,法線貼圖
簡略的原理就是把本有高低起伏的反射面下壓,壓到同一個高度,而角度微調或不變。這樣在視角比較小的觀察點,幾乎可以完整模擬原有表面的平行光反射光。
更精確的原理就要自行去研究幾何光學的書了。
白話一點來說法線貼圖就是等鏡子的角度確定後,從每個鏡子中心垂直射出一道射線,跟半徑為1的球會有一個交點。法線貼圖的RGB分別就是存每面鏡子射線交點的XYZ。
更白話一點來說,就是在每個小鏡子上粘一根長度為1的棒子,RGB分別記錄棒頭的座標。這樣就可以用RGB來幫鏡子的設定方向了。
$$ X = \frac{R-128}{127}, Y = \frac{G-128}{127}, Z = \frac{B-128}{127} $$
我們可以依上面的公式自已畫一個法線貼圖來做實驗,隨便畫幾個方格來指定鏡面方向。
把Normal Map貼到金屬材質上,果然可以看到在同一個平的的金屬有了不同的反射角度。
從PolyHeaven下載一個木板材質來比較有沒有用法線貼圖的差異。結果應該不用多說了。
法線貼圖除了做光影效果外,也可以拿來模擬防偽貼紙。
總結法線貼圖就是把一個平面分成很多小鏡子。紋理貼圖設定鏡子的顏色,法線貼圖設定鏡子轉的角度。
不過法線貼圖技術不是設計出來給人類用的,它的最大進步是能被3D算繪的著色器直接使用,增進3D算繪的效能,對3D遊戲的幫助甚大。
網路資源: