烘焙法線中的坑

遊資網發表於2020-02-17
法線貼圖(NormalMap)是3d從業者第一個學到的技術活。這篇文章就來細品,在製作過程曾犯下的錯誤與其原因。走過路過瞧一瞧,說不定這裡就有你疑惑多年問題的答案。

同步更新unity connect,求點贊收藏

https://connect.unity.com/p/hong ... ngconnect.unity.com

法線是什麼?

烘焙法線中的坑

先簡單說下定義。

物體平面上任意一點,垂直於平面的方向,就是法線方向。以3dsmax為例,修改器新增“編輯法線”。就能看到該模型的頂點法線方向。

法線貼圖的做法相當簡單:做高模和低模→低模展UV→高低模烘焙法線

烘焙法線的意義,就是把高模的法線方向,以畫素的形式,存到低模的表面上。貼上法線貼圖的低模,就會有高模的光影變化,從而看起來像高模一樣。(unlit沒有法線,因為沒有光影變化。)

下面開始說問題

做法線貼圖看似三步,但每個環節都會出問題。

1. 高模法線有問題

正方體的硬轉角,低模轉高模,為了高模能有圓滑的轉角(或叫高光邊),常見做法是,倒角+細分。

烘焙法線中的坑

如果用的是這種倒角+細分。恭喜你,不管細分有多高,烘焙後肯定會獲得一個凸起來的面。這就像正方形直接細分會變成球一樣。

並且由於貼圖在引擎壓縮後,貼圖精度不夠,會產生馬賽克方塊一樣的平面。

烘焙法線中的坑

正確做法,倒角不能影響到原模型的邊緣形狀。

這樣才能保住中心平面是用4個相同方向的法線算平均,算出來整個面都是一個方向。高模甚至不需要細分,拐角處正好是完美的0-90度過渡。

2.低模法線有問題

高模的光滑組(軟硬邊)隨便分都沒事,只要看起來對就能用。

但低模不同,作為接收法線的受體,有很多限制。

低模需要烘焙的地方不能有硬邊。如果一定要硬邊,硬邊處UV需要切開。

烘焙法線中的坑

這是高模,綠線是硬邊

烘焙法線中的坑

如果低模UV不斷開處有硬邊,法線明顯有一條鋸齒錯誤。

烘焙法線中的坑

會發生錯誤的原因很好理解,硬邊同時存在兩個方向的法線,分別對應到左右兩個面。

假設法線貼圖,左邊需要紅色才能還原高模法線,右邊需要藍色。

而紅過渡到藍沒法在一個畫素內完成,所以共用畫素的硬邊,肯定會產生錯誤。

同理切開UV重新擺,會使硬邊上有足夠畫素做紅藍過渡。

可效果相同誰會選擇更麻煩的做法呢。。直接低模全軟就好

3.低模UV重疊

為保證貼影象素利用率,低模一般會有UV左右對稱重疊。

常見做法如下。

低模刪掉對稱面,和高模一起把穿插部件分開。高低模烘焙出法線貼圖,對稱低模縫合斷面,貼上法線貼圖。

烘焙法線中的坑

思考一下,低模的對稱縫合線,應該用硬邊還是軟邊?

看圖可知。答案是硬邊。

烘焙法線中的坑

用於烘焙的“低模”在刪除面時,切口就已經變成了硬邊,所以烘焙出來的法線只能用於硬邊模型。螺口不對自然無法開螺絲。

結合23兩條,不難得出:

•        模型全軟邊也能烘焙,不管UV切不切。

•        烘焙模型法線被你改了,自然要把原模型切口處法線改成一樣。

•        所以,是UV接縫但不是切口處的線,無需改成硬邊。

有些老前輩的教條“烘焙法線時UV接縫處要硬邊”,現在看看就是笑話。知其然而不知其所以然的樣子,真有趣。

甚至於我還要繼續打臉。

“UV接縫處要硬邊”的源頭,是UV重疊會影響烘貼圖。只要UV重疊不會影響到烘貼圖,就不用切開模型。

做法如下:

•        低模對稱縫合好,全軟邊,存為最終遊戲內用的低模A

•        原本想用於烘焙的面,設為一個單獨材質球。其他面設為另一個材質球,存為低模B。

•        B模型紅色材質球烘焙貼圖。出來的法線即可直接貼到低模A上。

烘焙法線中的坑

4.不同軟體互導

改變法線的方法有分兩種,1.軟硬邊2.光滑組

軟體匯出模型成FBX,OBJ等模型資源時,會把 光滑組/軟硬邊 轉化成法線方向。

以max為例,模型在匯入匯出時,均會提示你,是否導光滑組(max裡的光滑組)。

烘焙法線中的坑

如果匯入時沒勾選,光滑組資訊會丟棄,法線方向被鎖定,法線顏色變為綠色,此時編輯光滑組會不起作用,編輯面會導致法線凌亂瞎算。(重置法線即可解開)

5.引擎裡貼圖設定

Unity內法線貼圖在用時,需要指定Texture Type為Normal map。勾選這個相當於對法線進行了Unpack,也就是法線貼圖的RG兩個通道進行了*2-1

但如果你不需要引擎為你unpack,而是自己解的話,記得把sRGB去掉。

烘焙法線中的坑

曾經有一次自己反覆檢查1-4到底哪裡出了問題,結果花了好久才發現自己沒去掉sRGB,慘痛的教訓。

還沒點贊收藏的GKD,I‘ve got you in my sight.

烘焙法線中的坑

下面是我的artstation地址:

https://www.artstation.com/luteli


作者:Lute Li
專欄地址:https://zhuanlan.zhihu.com/p/107252209

相關文章