什麼是 PBR 紋理?物理基礎渲染貼圖入門指南

TL;DR
- PBR = 一組模擬真實世界光線互動的貼圖。
- 核心貼圖:albedo、normal、roughness、metallic、AO、height。
- 兩種工作流程:metallic/roughness 與 specular/glossiness。
- 用於遊戲、電影、AR/VR、即時 3D。
- Tripo AI 會自動輸出 PBR-ready 模型。
大多數 3D 初學者都曾在貼圖包、遊戲引擎或素材市集中看過「PBR」這個詞。但許多人只能把它描述為「寫實貼圖」,這部分正確,但並不完整。
在 PBR 成為標準之前,許多 3D 表面看起來平坦或不真實,因為光照與高光通常被直接繪製進貼圖中。某個材質在一種光照設定下可能看起來可以接受,但換到另一種設定就會失效。PBR 改變了這一點,為藝術家提供了一種符合物理一致性的方式來描述表面。
本指南會說明什麼是 PBR 貼圖、每種貼圖如何運作、為什麼物理原理很重要、兩大主要工作流程有何不同,以及 PBR 在遊戲、電影、AR、產品視覺化和 AI 生成 3D 資產中的應用。
What Is PBR (Physically Based Rendering)?
PBR,或 Physically Based Rendering,是一種模擬光線在真實世界中行為的渲染方法。 它不依賴手動調整的技巧,而是使用一致的材質規則,讓表面在不同光照條件下都能以可預測的方式回應。

第一項原則是能量守恆。表面不能反射比其接收到更多的光。鏡子可以有效地改變光的方向,但不會創造新的光。在 PBR 中,這可防止材質同時變得不切實際地明亮又具反射性。
第二項原則是微表面模型。在微觀層級上,表面是由微小且不平整的小面構成。粗糙表面會將光散射到許多方向,就像霧面玻璃。光滑表面會將光反射到更集中的方向,就像鏡子。這就是為什麼 roughness 會控制高光看起來是寬廣柔和,還是銳利清晰。
第三項原則是 Fresnel effect。在掠射角下,幾乎所有材質都會變得更具反射性。這就是為什麼木地板、潮濕道路或塑膠表面從低角度觀看時會顯得更明亮。
PBR textures 是提供給 PBR shader 的資料輸入。它們逐像素描述 color、roughness、metalness、surface direction,以及 local shadowing。若沒有準確的 maps,即使是 PBR renderer 也會產生不準確的結果。
PBR 在 2010 年代初至中期於即時算繪中成為主流,這得益於 Marmoset Toolbag、Substance Painter 和現代遊戲引擎等工具的推動。
什麼是 PBR Textures?
PBR textures 是一組 image maps,每張都儲存表面的不同屬性。 PBR shader 會在算繪時一併讀取這些 maps,以計算最終的材質外觀。
可以把它想像成一棟房子:一張圖顯示平面配置,另一張顯示配線,另一張顯示管線。沒有任何單一圖面能說明整棟建築。PBR 的運作方式也是如此。一張 map 儲存 color,另一張儲存 bump direction,另一張儲存 reflectivity,另一張則儲存 local shadowing。

傳統貼圖常使用漫反射與高光貼圖作為藝術性的猜測。藝術家可能會把顏色、陰影、髒污與高光繪製到同一張貼圖中。PBR 會將這些屬性分離,使光照保持動態且符合物理一致性。
核心 PBR 貼圖包括:
- Albedo / Base Color
- Normal
- Roughness
- Metallic
- Ambient Occlusion
- Height / Displacement
- 可選貼圖,例如 Opacity、Emissive 和 Subsurface
核心 PBR Texture Maps 說明
Albedo / Base Color Map
albedo map,也稱為 base color map,會以 RGB 資料儲存材質的原始表面顏色。它不應包含任何烘焙光照、陰影、Ambient Occlusion 或繪製的高光。常見的新手錯誤是把 albedo 當成舊式 diffuse texture 來處理,這會破壞物理規則,因為光照應該來自 renderer。真實世界的 albedo 值通常比預期更低:雪大約是 0.8–0.9,煤約為 0.04,而木材通常約為 0.1–0.15。
Normal Map
normal map 會儲存表面方向資料,通常以 RGB 顏色中的 XYZ 值編碼。它呈現藍色或紫色是正常的。它能模擬細小凸起、毛孔、刮痕、織物紋理,以及磚塊砂漿線,而不需要加入真實幾何。Tangent-space normal maps 常用於遊戲資產,而 object-space normal maps 則更固定於特定模型方向。
Roughness Map
roughness map 是一張灰階貼圖,用來控制反射看起來有多銳利或模糊。在 metallic/roughness 工作流程中,白色表示粗糙且散射,黑色表示光滑且像鏡面。這張貼圖對材質感受的影響通常比顏色更大:橡膠、陶瓷、濕石頭和拋光金屬看起來可以完全不同,主要就是因為 roughness。新手常把表面做得太光滑;真實材質通常需要細微變化。

金屬度貼圖
金屬度貼圖是一種灰階紋理,用來定義表面表現得像金屬還是非金屬。白色代表金屬,黑色代表非金屬或電介質。為了獲得物理上準確的結果,除非表面確實發生材質變化,例如鏽蝕、髒污或邊緣過渡,否則應避免使用 0.2–0.8 這類大範圍的混合值。金屬會以帶有色調的鏡面反射回應來反射,而電介質在法線視角下具有低得多且大致中性的反射率。
環境遮蔽 (AO) 貼圖
環境遮蔽貼圖是一種灰階紋理,用來儲存裂縫、角落、接縫和縫隙等狹窄區域中預先烘焙的柔和陰影。它通常作為乘數套用,以增加局部接觸陰影細節。AO 不能取代即時環境遮蔽或適當的照明。過度使用會讓材質看起來髒污、扁平或人為地過暗。
高度 / 置換貼圖
高度貼圖在用於移動幾何時也稱為置換貼圖,它以灰階資料儲存實際的表面高度。與只透過照明假造細節的法線貼圖不同,置換可以實際推動頂點並改變模型的輪廓。它適用於深凹槽、雕刻木材、石塊、地形起伏和龜裂地面。由於成本較高,法線貼圖通常更適合小型表面細節,而置換則保留給特寫或高品質資產使用。
兩種 PBR 工作流程:金屬度/粗糙度 vs 鏡面反射/光澤度
PBR 之所以常讓人困惑,主要是因為有兩種主要工作流程。兩者都基於物理,但提供的控制項不同。
金屬度/粗糙度工作流程,也稱為 metal/rough,是現代即時算圖中的主流工作流程。Unreal Engine、Unity pipelines、Blender 風格的 Principled BSDF 工作流程、Substance Painter 預設集以及 glTF 2.0 都使用它。它通常使用 albedo、normal、roughness、metallic 和 AO 貼圖。
鏡面反射/光澤度工作流程,也稱為 spec/gloss,出現在較舊的管線、舊版匯出預設集,以及某些電影或 VFX 工作流程中。它使用 diffuse、normal、glossiness 和 specular 貼圖。它讓藝術家能更直接控制鏡面反射顏色,但也更容易建立不符合物理的材質。
| 功能 | 金屬度/粗糙度 | 鏡面反射/光澤度 |
|---|---|---|
| 常見貼圖 | Albedo, Normal, Roughness, Metallic, AO | Diffuse, Normal, Glossiness, Specular |
| 反射控制 | Roughness + metallic | Glossiness + specular color |
| 數值方向 | 白色 roughness = 粗糙 | 白色 glossiness = 有光澤 |
| 藝術家控制 | 較受限制 | 較具彈性 |
| 最適用於 | 遊戲、glTF、即時資產 | 舊版工具、特殊材質、VFX |
| 主要優點 | 更簡單且較不容易誤用 | 對鏡面反射顏色有更多控制 |
| 主要弱點 | 對奇特材質的直接控制較少 | 較容易產生不符合物理的結果 |
對初學者來說,金屬度/粗糙度通常是更好的選擇。它更簡單、受到廣泛支援,並且在物理上更安全。如果你今天下載一個 PBR 材質,它最有可能遵循這個工作流程。
當舊版管線依賴它,或藝術家需要特殊的鏡面反射行為時,鏡面反射/光澤度仍然很重要。但對於遊戲開發、web 3D、AR 和一般即時工作而言,金屬度/粗糙度是最安全的預設選擇。
PBR 物理原則:能量守恆、微表面、Fresnel

能量守恆
鏡子可以反射光,但不能創造光。這就是能量守恆背後的基本概念:表面不能反射比其接收到更多的能量。
在 PBR 中,這條規則讓材質在物理上保持可信。隨著 roughness 增加,specular highlights 會變得更寬且更暗,因為相同的光能被分散到更大的區域。現代渲染器透過 BRDF 處理這一點,但藝術家仍需要合理的貼圖數值。如果材質看起來黯淡,不要只是同時提高 albedo 和 specular 數值的亮度;請先調整 roughness、lighting 或 exposure。
微表面模型
即使是看似光滑的表面,也是由微小的顯微「鏡面」組成。microfacet model 將 roughness 視為這些微小 facet 角度的分布。
當 roughness 較低時,大多數 facet 會朝同一方向對齊,產生銳利、類似鏡面的反射。當 roughness 較高時,facet 會指向許多不同方向,將光散射成更柔和的 highlights。這就是為什麼當材質感覺太 glossy、太 plastic 或太 flat 時,roughness map 往往是第一個要檢查的地方。現代渲染器通常使用 GGX 風格的 microfacet models,包括 Unreal、Unity 和 Blender。
Fresnel 效應
從低角度看向潮濕道路或拋光木地板,表面邊緣會顯得亮得多。這就是 Fresnel 效應:幾乎所有材質在掠射角都會變得更具反射性。
在 PBR 中,藝術家通常不會直接繪製 Fresnel。shader 會從 metallic 和 albedo 等材質數值推導出它。非金屬通常具有約 0.04 的 F0 值,表示在正常視角下約 4% 的反射率。金屬的行為不同:其反射率會受到 albedo color 的著色。這就是為什麼正確的 metallic 和 base color maps 對於在變化的 camera angles 和 lighting 下仍能成立的材質至關重要。
Height / Displacement Map 以及何時使用它
height map 會以灰階資料儲存每個像素的高度。作為 displacement 使用時,renderer 會根據這些數值實際移動 vertices。這會產生真實的幾何變化,可能影響 silhouettes 和 shadows。

這就是它與 normal map 的關鍵差異。normal map 會改變光照反應,但不會改變形狀。displacement map 則會改變形狀本身。
使用 normal map 來呈現細緻且成本低的細節:皮膚毛孔、編織布料、輕微刮痕、淺層磚塊紋理、皮革紋路,或拉絲金屬。它效率高,非常適合即時遊戲。
使用 height 或 displacement 來呈現更深層的形狀變化:石塊、雕刻符號、地形、樹皮脊紋、屋瓦、龜裂泥土,或深溝槽。它成本較高,因為算繪器需要足夠的幾何體或 tessellation。
一種折衷技術是 parallax occlusion mapping。它使用 height map,在不完全位移幾何體的情況下創造深度錯覺。它的成本高於 normal map,但低於真正的 displacement。
| 使用情境 | 最佳貼圖 |
|---|---|
| 不增加幾何成本的細緻細節 | Normal map |
| 真實輪廓變化或深層浮雕 | Height / displacement map |
| 即時假深度 | Parallax occlusion mapping |
在許多工具中,height 和 displacement 指的是同一個通道。差異在於算繪器如何解讀資料。
PBR Textures 的使用場景
遊戲開發
遊戲開發是 PBR textures 最大且最常見的使用情境。Unreal Engine 5、Unity 和 Godot 預設都使用 PBR 風格的材質系統,讓資產能一致地回應即時光照。Fab 和 Sketchfab 等市集通常會將遊戲資產打包成 PBR texture sets,因為它們能更可靠地在不同引擎和光照設定之間移動。
電影與 VFX
電影與 VFX 流程會在 Arnold、V-Ray、Octane 和 Redshift 等離線算繪器中使用以 PBR 為基礎的 shading。主要優點是一致性:一次製作的材質可以在不同鏡頭、光照環境和 compositing 工作流程中重複使用。這就是大型工作室採用 PBR 工作流程,以減少材質重工並提升視覺連貫性的原因。

AR, VR, and Real-Time 3D
PBR 也是 AR、VR 與網頁式 3D 體驗的核心。glTF 2.0 標準原生使用 metallic/roughness 工作流程,使 PBR 貼圖對可攜式即時資產十分重要。Web viewers、AR 產品預覽、虛擬試穿與行動 3D 應用程式,都仰賴在不同裝置與光照條件下看起來穩定的材質。
Product Visualization and E-Commerce
品牌使用符合 PBR 精準度的材質來渲染產品影像,而不必依賴完整的實體攝影。正確的 roughness 與 metallic 值,有助於讓塑膠瓶看起來像塑膠、皮鞋看起來像皮革、拉絲錶殼看起來像金屬。在 e-commerce 中,這種材質準確度會直接影響產品渲染看起來有多可信。
AI-Generated 3D
AI-generated 3D 是 PBR 工作流程中正在興起的使用案例。Tripo AI 的 AI Texturing 可以為未貼圖的 3D 模型建立 PBR 材質,以及包含 Base Color、Roughness、Metallic 和 Normal 在內的標準 maps。它支援 FBX、OBJ 和 GLB 輸入,其匯出的 PBR texture sets 專為搭配常見 engines 與 renderers 使用而設計,使其成為後續材質檢視與精修的實用起點。
How to Create and Use PBR Textures
建立 PBR textures 通常從專用 authoring tool 開始。Adobe Substance Painter 和 Substance Designer 廣泛用於在 3D 模型上繪製材質,以及透過 node graphs 建立程序化材質。Quixel Mixer 是進行 layered material 工作的免費選項,而 Blender 支援 texture painting 與 Cycles baking。若想更快取得起點,Tripo AI Texturing 可以從未貼圖的 3D 模型生成 PBR 材質,以及 Base Color、Roughness、Metallic 和 Normal 等 maps;請將結果作為 first pass,然後在目標 renderer 中檢查。

你也可以下載免費的 PBR texture sets,而不是從零開始建立每一種材質。Polyhaven 提供 CC0 PBR textures、HDRIs 和 models,可完全免費用於商業用途。ambientCG 是另一個強大的 CC0 來源,提供可平鋪的 PBR materials,而 Fab.com 則提供來自 Epic marketplace 生態系的免費與付費 assets 混合資源。下載任何材質時,請同時檢查授權和內含的 map set。實用的 PBR material 至少應包含 albedo、normal、roughness,以及 metallic 或 specular maps;AO 和 height maps 對增加深度很有用,但不一定總是必要。
若要在 Blender 中使用 PBR textures,請使用 Principled BSDF shader 建立材質。將 albedo map 連接到 Base Color,roughness 連接到 Roughness,metallic 連接到 Metallic,並讓 normal map 透過 Normal Map node 連接到 Normal input。Ambient occlusion 可混合進 Base Color,或依工作流程使用 Ambient Occlusion node 處理。在 Unreal Engine 5 中,將 maps 匯入為 texture assets,將 normal maps 設為 NormalMap compression,並將 roughness 或 metallic maps 設為 mask/data textures。接著在 Material Editor 中接線:Base Color、Normal、Roughness 和 Metallic 都應在材質套用到 mesh 之前接收對應的 map。
常見問題
什麼是 PBR texture?
PBR texture set 使用 albedo、normal、roughness 和 metallic 等 maps,描述 3D 表面如何對光線產生反應。支援 PBR 的 renderer 會結合這些 maps,在不同光照下產生一致的 shading。
PBR 代表什麼?
PBR 代表 Physically Based Rendering。它描述一種 rendering 方法,使用以物理為動機的光線反應規則,包括能量守恆、微表面反射和 Fresnel effect。
PBR 和 HDR 有什麼差異?
PBR 是一種描述逼真材質與光線反應的方法。HDR,或 High Dynamic Range,指的是能表示更大亮度範圍的影像或顯示器;HDR images 常用於照亮 PBR scenes,但這兩個術語描述的是不同事物。
主要的 PBR texture maps 有哪些?
核心 maps 是 albedo 或 base color、normal、roughness 和 metallic。依材質與 renderer 而定,工作流程也可能使用 ambient occlusion、height 或 displacement、emissive、opacity,或 subsurface data。
Roblox 或 Minecraft 中的 PBR textures 是什麼?
在受支援的 Roblox 和 Minecraft resource-pack 工作流程中,PBR maps 可以在 base-color texture 之上加入 normal detail、roughness variation 和 metallic response。結果能在保留原始 art direction 的同時,增加表面深度與反射感。
roughness 和 glossiness maps 有什麼差異?
它們描述同一表面屬性的相反方向。roughness 值為 1.0 表示完全粗糙,而 glossiness 值為 1.0 表示完全光亮,因此這些 maps 通常透過反相進行轉換。
如何建立 PBR textures?
常見工具包括 Substance 3D Painter、Substance 3D Designer、Quixel Mixer 和 Blender。AI 輔助工具如 Tripo AI Texturing 可以生成 PBR materials 和標準 maps 作為起點,藝術家可再依目標 asset 與 renderer 進行調整。
哪裡可以找到免費的 PBR textures?
Poly Haven 和 ambientCG 提供 CC0 PBR materials,而 Fab 提供免費與付費 assets 的混合資源。在專案中使用任何材質之前,請檢查其授權與內含 maps。
結論
PBR textures 並不只是「逼真的 textures」。它們是一套結構化、以物理為基礎的 maps 系統,其中每張 map 都編碼一種表面屬性,並協助 renderer 計算光線在不同條件下應如何表現。Albedo 定義原始顏色,normal 描述表面方向,roughness 控制高光擴散,metallic 定義導體行為,而 AO 或 height maps 則增加接觸深度與表面 relief。
對初學的藝術家而言,metallic/roughness 工作流程是最佳基礎。在大多數日常材質中,四張 maps — albedo、normal、roughness 和 metallic — 在進入 height、opacity、emissive 或 subsurface 等進階 channels 之前,已涵蓋你大約 90% 的需求。
對任何想加速材質製作的人來說,Tripo AI's 3D Model Generator 可以建立起始模型,而 AI Texturing 可以為其生成 PBR materials。在目標工作流程中檢查匯出的 model 和 texture set,然後在 Tripo AI Studio 中試用,或在 Tripo AI Pricing 查看可用方案。


