什麼是粗糙度貼圖?PBR 數值、建立方法與 AI 生成

roughness map cover
  • 粗糙度貼圖控制表面看起來有多光亮或多霧面。
  • 黑色表示平滑且具反射性;白色表示粗糙且霧面。
  • 粗糙度與光澤度是同一種屬性的相反版本。
  • 擬真的粗糙度貼圖需要有變化,而不是平坦的灰色數值。
  • Tripo AI 可以在完整的 PBR 紋理組中生成粗糙度貼圖。

粗糙度貼圖是一種灰階紋理,用來控制光線如何在 3D 表面上散射。黑色像素會產生如鏡面般平滑的反射;白色像素則會產生完全霧面、使光線散射的表面效果。介於兩者之間的每一種灰階,都會在這個光滑到粗糙的光譜上形成不同的表面,從拋光鉻金屬到粗糙混凝土皆然。

在 PBR,也就是 Physically Based Rendering 的工作流程中,粗糙度貼圖是定義材質在任何光照條件下外觀的四種關鍵紋理之一。只要設定錯誤,你的金屬看起來就會像塑膠,木材看起來像是濕的,而混凝土看起來像打了蠟。本指南將說明粗糙度貼圖的作用、哪些數值適用於真實世界材質、建立粗糙度貼圖的三種方法,以及 AI 工具如今如何自動生成它們。

什麼是粗糙度貼圖,它如何運作?

粗糙度貼圖是一種灰階影像,供 PBR shader 用來控制反射的銳利程度。它不包含任何色彩資訊,只有從 0.01.0 的亮度數值。

roughness map what is a roughness map and how does it work

0.0 的數值,也就是純黑,表示表面完全平滑。光線會朝集中的方向反射,形成銳利的高光,就像鏡子、拋光金屬或乾淨玻璃一樣。1.0 的數值,也就是純白,表示表面完全粗糙。光線會向多個方向散射,形成霧面外觀,就像乾燥混凝土、粉筆或未經處理的木材。

想像一下鋼材在拋光前後的差異。粗糙的鋼材會散射光線,因此反射看起來模糊;拋光後的鋼材會更直接地反射光線,因此反射會變得清晰銳利。

粗糙度貼圖不會改變模型的形狀。它不會增加凸起、凹陷或幾何體。它只會改變光線如何從表面反彈。在 Blender、Unreal Engine、Unity,以及大多數現代工具中,它會連接到 Principled BSDF 或同等 PBR shader 的 Roughness 輸入端。

由於每個像素都控制自己的粗糙度,因此同一個物件可以同時擁有發亮的邊緣、霧面的溝槽、油性的指紋,以及積塵的角落。

常見材質的粗糙度數值

下列數值是實用的起始參考點,不是固定不變的法則。光照、藝術風格、貼圖解析度,以及 renderer 設定都會影響最終結果。

MaterialRoughness ValueDescription
鏡面 / 拋光鉻0.00–0.08反射非常銳利,幾乎沒有模糊。
乾淨玻璃0.00–0.05平滑且具反射性;磨砂玻璃的數值會高得多。
拋光金屬0.08–0.18具有反射性,但不如鏡面那麼完美。
光澤塑膠0.15–0.30高光明顯,常見於玩具與產品外殼。
拉絲金屬0.25–0.40反射可見,但較柔和。
上漆金屬0.35–0.55取決於漆面、塗層、灰塵與磨損程度。
人體皮膚0.45–0.60高光柔和,並帶有自然的油脂變化。
磨損皮革0.50–0.70經使用拋光的部位較平滑,裂縫處較粗糙。
緞面布料0.55–0.75帶有柔和光澤,很少像鏡面一樣。
原木0.60–0.85木紋粗糙;拋光木材的數值會更低。
乾燥混凝土0.75–0.95非常霧面,幾乎看不到明顯反射。
粉筆 / 灰塵 / 乾黏土0.85–1.00幾乎完全霧面。

最重要的原則是變化。劍不應該整體都使用同一個粗糙度數值。劍刃、握柄、鏽蝕、刮痕與指紋,都應該以不同方式反射光線。一張好的粗糙度貼圖,通常看起來像是一張細微的黑白表面磨損照片:拋光或帶油的地方較暗,乾燥、積塵、有刮痕或未經處理的地方較亮。

Roughness Map 與 Glossiness Map 的差異

Roughness 和 glossiness 是從相反方向描述同一種表面性質。

roughness map roughness map vs glossiness map

粗糙度貼圖用來表示表面有多粗糙。黑色代表平滑且具反射性;白色代表粗糙且霧面。光澤度貼圖用來表示表面有多光亮。白色代表平滑且有光澤;黑色代表粗糙且霧面。

轉換方式很簡單:

Roughness = 1 - Glossiness

因此,0.3 的粗糙度值等於 0.7 的光澤度值。

現代流程通常使用 Metallic/Roughness workflow。這是 Blender 的 Principled BSDF、Unreal Engine、Unity HDRP、glTF,以及許多即時資產流程中的標準。較舊的流程可能使用 Specular/Glossiness workflow,在這種流程中,光澤度會取代粗糙度,並由 specular map 控制反射顏色與強度。

如果你匯入的材質看起來顛倒了,可能是你把 glossiness map 放進了 roughness 插槽。平滑區域會變成霧面,而粗糙區域會變得有光澤。修正方法是在連接之前先將這張灰階貼圖反相。

如果你今天要開始一個新專案,請使用搭配 metallic workflow 的 roughness,除非工作室或客戶明確要求使用 specular/glossiness。

如何建立 Roughness Map —— 3 種方法

方法 1:在 Blender 或 Substance Painter 中手動繪製

手動繪製能讓你獲得最高的控制度。你可以使用灰階筆刷,直接在已展開 UV 的表面上繪製粗糙度數值。

在 Blender 中,切換到 Texture Paint 模式,建立一張新的灰階影像,用灰階數值進行繪製,然後將該影像連接到 Principled BSDF 著色器的 Roughness 插槽。較暗的區域會變得更平滑、更有光澤。較亮的區域則會變得更粗糙、更霧面。

在 Substance Painter 中,加入一個 Fill Layer,啟用 Roughness 通道,然後使用筆刷、遮罩或 generators 繪製變化。先從符合材質類型的基礎數值開始,再逐步加入細節。Plastic 可以從約 0.25 開始,leather 約 0.6,concrete 約 0.85。

roughness map method 1 paint it manually in blender or substance painter

方法 2:從 Blender 中的高模細節進行 Bake

當粗糙度變化需要與表面細節相符時,Baking 就很有用。例如,鉚釘可能比平坦面板更粗糙,凹槽可能會積聚灰塵,而雕刻出的岩石裂縫可能需要比磨損邊緣更高的粗糙度。

在 Blender 中,先建立或雕刻高模細節,展開低模模型的 UV,然後使用 Render Properties → Bake → Roughness 將材質資訊轉移到低模的 UV 佈局上。

這種方法比直接繪製需要更多前期設定,但它能幫助你的 roughness map 貼合資產的真實形狀與磨損模式。

方法 3:使用 AI 生成

當你需要一整套完整的 PBR 紋理,而不想手動繪製每一張貼圖時,使用 AI 生成是最快的途徑。

roughness map method 3 generate with ai

透過 Tripo AI Studio,你可以生成或匯入 3D model、使用材質貼圖工作流程,並建立一套完整的 PBR 材質組合,其中包含 Roughness、Normal、Metallic 與 Base Color maps。你不必從零開始繪製灰階值,而是描述目標材質的外觀,讓 AI 在整個 model 上生成表面變化。

roughness map method 3 generate with ai 2

例如,「worn leather backpack」不應該有一張平坦的 roughness map。邊緣、背帶、摺痕、刮痕以及拋光的接觸區域,在光照下都應該呈現不同的表現。AI texturing 可以自動生成這類變化,之後你還可以在 Paint Mode 或其他紋理工具中進一步微調特定區域。

roughness map method 3 generate with ai 3

當你想以最快的方式完成一整套 PBR 紋理時,請使用 Tripo AI Texturing,然後只手動調整關鍵細節。

常見的 Roughness Map 錯誤以及如何修正它們

roughness map common roughness map mistakes and how to fix them

模型看起來到處都太亮了。 你的 roughness 值可能太低,接近 0。請將基礎 roughness 提高到大約 0.3-0.6,具體取決於材質。塑膠、皮膚、皮革和上漆表面不應該表現得像拋光鉻金屬一樣。

roughness 看起來平坦且一致。 你可能只使用了單一的純灰色填充。真實材質需要變化。請加入細微的雜訊、指紋、污垢、刮痕、邊緣拋光效果,或手繪磨損痕跡。

匯入到另一個引擎後,材質看起來不對。 你可能把 glossiness map 載入到了 roughness 插槽。如果平滑區域看起來粗糙,而粗糙區域看起來發亮,請使用 Roughness = 1 - Glossiness 反轉該貼圖。

roughness map 沒有任何可見效果。 請檢查你的 shader 連接。在 Blender 中,roughness 貼圖應該接到 Principled BSDF 的 Roughness 插槽,而不是 Base Color 插槽。

貼圖在 Blender 中看起來正常,但在 Unity 或 Unreal 中不對。 各引擎打包通道的方式不同。Unreal 通常直接使用 roughness。Unity HDRP 則常使用 Smoothness,也就是反向的 roughness,有時會儲存在 Metallic map 的 alpha 通道中。

常見問題(FAQ)

什麼是 roughness map? roughness map 是 PBR 中用來控制光線在表面上散射程度的灰階貼圖。黑色值會產生如鏡面般平滑的反射,而白色值會產生霧面、漫反射表面。它與 Base Color、Normal 和 Metallic 並列為四種核心 PBR 貼圖之一。

roughness map 應該長什麼樣子? roughness map 應該看起來像是你的材質表面變化的灰階版本。較深的區域應標示拋光、帶油感或平滑的區域,而較淺的區域應標示粗糙、積塵、有刮痕或未完成的區域。避免使用純灰色填充,因為真實材質幾乎總是帶有變化。

roughness 和 glossiness 有什麼差別? roughness 和 glossiness 是互為反向的數值。roughness 值 0.3 等於 glossiness 值 0.7。如果你的材質看起來反了,你可能把 glossiness map 放進了 roughness 插槽;將它反轉即可修正材質。

如何產生 roughness map? 你可以在 Blender 或 Substance Painter 中手動繪製、從高模表面細節烘焙,或使用 AI 生成。像 Tripo AI Studio 這類工具可以根據模型和貼圖提示詞生成完整的 PBR 貼圖組,其中包含 Roughness。

結論

roughness map 是一個小小的灰階檔案,卻能帶來巨大的視覺影響。它的數值決定了表面給人的感覺是拋光、油潤、磨損、積塵、乾燥還是霧面。一旦你理解 0 到 1 的尺度,以及常見材質的典型數值,roughness 就會成為最容易控制的 PBR 貼圖之一。

想跳過手動繪製嗎?試試 Tripo AI Studio,幾秒內即可生成帶有 Roughness、Normal、Metallic 和 Base Color 貼圖的完整貼圖模型。

可在 Tripo AI Pricing 查看免費方案包含的內容。

分享文章

用 3D 生成萬物

點擊下方,加入數百萬 3D 創作者的行列。體驗超高保真模型生成與一流的 PBR 貼圖。