---
# System prepended metadata

title: Blender 程序節點 (Procedural Node) 的烘焙(Baking)
tags: [Node, 烘焙, Normal Map, Shading, Baking, Blender]

---

#   Blender 程序節點 (Procedural Node) 的烘焙(Baking)
###### tags: `Blender` `烘焙` `Baking` `Normal Map` `Node` `Shading`

### 一、說明
Blender 的程序節點材質只能在 Blender 內達到結果，若是模型要轉到別的軟體中，那就需要將程序節點材質先做好Baking（烘焙），然後經烘焙好的貼圖儲存起來，並重新連結到原有的節點位置，有些例外的情況是 類似玻璃這種透明材質無法 Bake。

---

### 二、前段處理

1.模型須先安排縫線（Mark Seam）與做好UV拆解（Unwrap）的動作。
2.製作程序節點。

---


### 三、烘焙前段處理

1.拆分一個「著色編輯器」(Shader Editor)視窗。 
2.拆分一個「影像編輯器」(ImageEditor)視窗。
3.依自身需求要不要再拆分一個「UV編輯」(UV Editor)視窗。
4.在「影像編輯器」按「New」新增一個圖片

![](https://i.imgur.com/syGGn9u.png)

* Name 檔案名稱最好包含相關通道以利辨識圖檔用途，也可以使用同一個 Image Texture Node 製作不同的 Bake ，但要記得 Bake 完成後另外改檔名，例如以物件的名稱作為 Image Texture 名稱，完成 Bake 的後面另外添加材質通道名稱的。

> Node Wrangler (節點牧馬人) 預設的材質名稱是很好的參考：
>  基礎上色(Base color)材質的就取做 diffuse，
>  次表面色彩(Subsurface Color) 檔名用 sss
>  粗糙度(Roughness)圖取做 roughness，
>  法線圖(Normal)就叫 normal....
>
>![](https://i.imgur.com/zN4JFH7.png) 
>
>![](https://i.imgur.com/aYzwVN1.png)


* Width 和 Height 寬度與高度，這裡依自己需求解析度，設定若太低的話會有鋸齒，太高則烘焙耗時。
* Alpha 若圖檔需做 RGBA 的話 alpha 需要勾選。

5.到「著色編輯器」中 Shift + A 增加一個 Image Texture Node，不要連上任何上/下一級的NODE。接著點一下左邊圖示，將列表中上面建立的圖檔選取。

![](https://i.imgur.com/ArbudEA.png)

6.要注意的是除了 Diffuse 之外，像是 Roughness 與 Normal 要把「色彩空間」(Color Space) 設定為 NonColor。

![](https://i.imgur.com/XOtpywH.png)

---

### 四、開始烘焙

1.進入 Render Properties（算圖設定），將以下項目設定起來。

![](https://i.imgur.com/rHS2KzV.png)

* Render Engine 選用 Cycle
* Bake Type 選取需要烘焙的類型，不同類型需分別烘焙。
* 有的類型會有額外的選項，例如 Diffuse(漫射) ，建議關閉Influence(影響)下的 Direct (直接) 和 Indirect (間接)兩個光照選項。

> 若是烘焙目標包含雕刻的 Multires（多重解析修改器），需要打開 「Bake From Multires」
> [詳細說明參看「烘焙高模至低模法線圖」流程 -->](https://hackmd.io/VLtw7CKXTWynFhbOyGh3VA)

2.選取前一部分的 6 所建立的 Image NODE。

3.當所有項目與選項都設定好之後，按下 Bake ，烘焙依設定的影像大小不同和電腦效能節點複雜程度不同下所需時間長短也不同。

4.完成烘焙之後影像會顯示在「影像編輯器」中，未儲存的檔案在「影像」選單旁邊會有一個星號提示。

5.記得儲存影像，否則重新啟動後烘焙的檔案將會遺失。

6.進入著色編輯器將烘焙完成的影像接回他原來該有的位置。

7.最後不要忘記到材質 Properties 的 settings 將 Displacement (錯置)設定為 Displacement and Bump，否則材質的凹凸錯置效果不會出來。
![](https://i.imgur.com/TknYujt.png)



---

### 五、BSDF 程序材質 Bake  注意事項：

1. Bake 需使用 Cycle 引擎，且 Render 樣本數可以減到 10 以提高速度。![](https://i.imgur.com/CKuRYli.png)

1. <Font color="red">全部金屬節點設定都要暫時拿掉與歸零，因為金屬度的烘焙將會變成純黑，**參考 六、的說明**。</Font>
1. 若同一物件內有多個材質，則必須於每一個材質內都放同一個 Bake 的 Image Texture Node （可以複製貼上...）。
1. Bake 之前要確定物件和全部材質內的 Bake 的 Image Texture Node 都已經選取。
1. Bake 完成之後儲存檔案時可以變更檔案名稱，繼續使用同一個 Image Texture Node  來做不同的 Bake 。
1. Bake 的 Texture Node NODE 在<Font color="red">金屬度、粗糙度、Normal 的 BAKE 都需選用 Non-Color 。</Font>
![](https://i.imgur.com/7vrlifb.png)

---


### 六、金屬材質的 BAKE：

1. BSDF 的金屬度，BAKE 時需要選取 Emit（發射） 的 Bake 類型。
![](https://i.imgur.com/Yq2bQRs.png)


3. 若使用的是 Texture Node 製作的金屬材質，那將最後一個NODE以Viewer Node 連接。
![](https://i.imgur.com/gXSkk9Q.png)


3. 若僅是 BSDF 內設定的金屬度則調到0，然後使用一個 RGB NODE 調整到全白，然後將此RGB NODE 接到 Viewer Node。
![](https://i.imgur.com/Df0wz8x.png)


5. 金屬度的 Bake 完成之後製作其他BAKE時，要刪除2. 3.暫時使用的 Viewer NODE ，並維持金屬度在 0。



### 七、Height Map 高度圖

參考教學 URL：https://www.youtube.com/watch?v=H51zh25KGGY&ab_channel=RyanKingArt

Blender 的 Bake 中沒有高度圖的項目，若需要使用到高度圖（Heught/Displacement）的話可以使用 「Emit（發射）」的項目來BAKE出高度圖。

![](https://i.imgur.com/00Y1pVb.png)

高度圖需要連接到 Displacement ，也需要到材質 Properties 的 settings 將 Displacement (錯置)設定為 Displacement and Bump，否則材質的凹凸錯置效果不會出來。
![](https://i.imgur.com/TknYujt.png)

