Blender UV 展開與四邊形重網格 — 遊戲即用工作流程指南
製作你自己的 Blender UV 展開
在 Blender 裡學 UV 展開與四邊形重網格,做出遊戲即用資產 — 接縫、投影、texel 密度,以及能讓拓撲維持乾淨的重網格步驟。內含可旋轉的真實前後對照模型。
在 Blender 裡,UV 展開是座標對映步驟,不是貼圖步驟。你要把 3D 表面攤平成 2D 平面,讓每個多邊形都能在不扭曲的情況下取用 2D 影像。U 軸在 UV 格線上是水平方向,V 軸是垂直方向。展開一個立方體時,Blender 會沿著邊切開,把六個面攤平放進 0–1 方格裡。那個方格是貼圖唯一能存在的位置。方格外的區域不是沒用到,就是靠 tiling 設定把貼圖環繞起來。
這份指南涵蓋遊戲即用資產的 Blender UV 展開流程,以及必須先做的四邊形重網格。順序很重要:雕塑、重網格、UV 展開、烘焙。如果你先展開高密度雕塑再重網格,UV 島就不再對應最終拓撲,你得重做展開。把模型帶進 Neta Studio 的 3D game builder 時也一樣:乾淨的四邊形與一致的 texel 密度能撐過這一趟,雜亂的三角形與不均的 UV 島不行。
TL;DR:決定 UV 的四件事
如果只讀一段,就讀這四點。它們涵蓋了遊戲資產最常造成重工的幾個決定。
- UV 展開是座標圖,不是貼圖UV 層會為每個網格迴圈存一組 U,V 座標。它不含像素。你可以把模型展開完,卻還是不知道它最後長什麼樣,直到材質去讀那張座標圖。
- Smart UV Project 涵蓋大多數遊戲資產對硬表面道具、武器與建築來說,Smart UV Project 用 66 度角限制就能產生可用的 UV 島,幾乎不需要手動標接縫。先用它,再考慮手動標記。
- texel 密度不一致,看起來就是模糊如果一個 UV 島的 texel 密度只有另一個的一半,即使兩者用同一張 2K 貼圖,低密度的那個島看起來還是軟的。讓各島的 texel 密度差距維持在約 10% 以內,否則差異看得出來。
- 先重網格,再 UV 展開,不要反過來重網格會重建拓撲。重網格之前建立的 UV 都會失效,因為原本的網格迴圈已經不存在。永遠先完成雕塑與重網格,再標第一道接縫。
UV 展開實際上在做什麼
想像一個紙盒。沿著特定邊剪開,攤開,平放在桌上。那張攤平的紙就是 UV 佈局。剪開的邊就是接縫。3D 紙盒上的每個頂點,現在在那張平面紙上都有一個座標:U 代表水平位置,V 代表垂直位置。0–1 方格就是貼圖空間。材質取樣影像時,會讀每個片段的 UV 座標,抓出該點的顏色。
UV 展開不是貼圖。一個網格可以有完美 UV 卻沒有材質,也可以有材質但 UV 壞掉。展開步驟只定義每個多邊形要看影像上的哪個位置。如果你跳過它,Blender 會套用預設投影,在曲面上拉伸,在鏡射幾何上重疊。結果就是模型乍看有貼圖,靠近一看就破功。
一句話讓你少踩雷:如果你說不出某個面位在 0–1 方格的哪裡,你的 UV 展開還沒做完。UV 編輯器會顯示那個方格。3D 視圖不會。
大家都在用的 UV 展開快速鍵
在編輯模式選取面,按 U,選 Unwrap。這是標準流程。Blender 會對選取的面執行所選展開演算法,把結果寫進作用中的 UV 層。如果什麼都沒選,它會對所有可見物件運作,這在複雜網格上幾乎不是你要的。
多數人真正用的是 Smart UV Project。同一個 U 選單,不同項目。Smart UV Project 不會先叫你標接縫。它會從多個角度投影網格,偵測銳角,並自動打包產生的 UV 島。對有平面板件與硬邊的遊戲道具來說,它比手動擺接縫更快、更可預期。
下面的快速鍵表列出你在 UV 編輯器與 3D 視圖最常用的鍵。記住這些,你就不用每做一個資產就翻一次選單。
| 動作 | 快速鍵 | 情境 |
|---|---|---|
| Unwrap 選單 | U | 編輯模式、3D 視圖 |
| 標記接縫 | Ctrl+E、標記接縫 | 編輯模式、選取邊 |
| 清除接縫 | Ctrl+E、清除接縫 | 編輯模式、選取邊 |
| 選取相連 | L | 編輯模式、滑鼠移到 UV 島上 |
| 切換 UV 編輯器 | Shift+F10 或工作區分頁 | 任何模式 |
| 打包 UV 島 | UV 編輯器內按 Ctrl+P | UV 編輯器、選取 UV 島 |
Smart UV Project 對比 Angle Based 對比 Conformal
Blender 內建三種主要展開演算法,外加幾種特殊用途的。下表列出各自做什麼、什麼情況最好用、關鍵角度門檻,以及何時該避開。對硬表面遊戲資產來說,預設建議是 66 度限制的 Smart UV Project。它能處理定義板件與倒角的銳角,不必手動標接縫,產生的 UV 島也容易有效率地打包。
Angle Based 與 Conformal 是較舊的演算法,運作前提是你已經標好接縫。Angle Based 會保留邊與邊之間的角度,降低有機造型的拉伸。Conformal 保留共形角,在曲面上通常產生更多扭曲,但在平面上重疊較少。如果你要展開角色頭部,手動標接縫搭配 Angle Based 通常是更好的選擇。如果你要展開木箱或步槍,Smart UV Project 比較快。
Smart UV Project 的角度門檻控制 Blender 把網格切成 UV 島的積極程度。門檻越低,產生的島越多,也更能跟上較銳利的細節。門檻越高,島越少,可能跨過你原本想分開的邊。設在 66 度時,大多數硬表面幾何會在倒角與板件線處切開,而那些地方本來就是你會標接縫的位置。
| 演算法 | 最適合 | 角度門檻 | 何時不要用 |
|---|---|---|---|
| Smart UV Project | 硬表面道具、武器、建築、快速粗模 | 66 度(預設 66°) | 曲面平滑、硬邊很少的有機雕塑 |
| Angle Based | 有機角色、生物、臉、手 | 不適用 — 使用已標記的接縫 | 銳角很多的網格;會產生更多重疊 |
| Conformal | 平面板件、機械零件、低扭曲的平面 | 不適用 — 使用已標記的接縫 | 曲面有機造型;在球體上拉伸較大 |
| Lightmap Pack | 烘焙光照或環境光遮蔽貼圖 | 不適用 — 逐面打包 | 帶顏色的貼圖;除非每個面都獨立,否則會重疊 |
接縫:該在哪裡切
接縫是網格被切開、以便攤平的邊。只要貼圖在切口兩側能接得起來,或切口位在看不見的面,接縫就不會在最終渲染中露出來。你把接縫放在哪裡,決定展開演算法得處理多少扭曲。
四條規則涵蓋大多數情況。第一,把接縫藏在鏡頭永遠看不到的面:底面、內側面、後腦、頭盔內裡。第二,沿著表面本來就斷開的硬邊切。倒角線是天然的接縫,因為兩個面不共享平滑法線。第三,在材質交界處切。如果一個道具同時有金屬段與橡膠握把,每種材質會想要自己的 UV 島,必要時 texel 密度才能不同。第四,接縫越少越好。每道接縫都會增加一條邊界,也提高貼圖無法完美重複時出現可見不匹配的機會。
三個示範切法。步槍:接縫沿槍管上方、槍托背面往下,以及彈匣井下方。角色頭部:接縫從後腦往下、下顎下方,以及耳後。木箱:接縫沿一條垂直邊、上緣一圈,以及下緣一圈。這些切法能讓網格攤成幾個大 UV 島,而不是幾十個碎片。
Texel 密度,以及你的貼圖為什麼看起來模糊
Texel 密度是落在 3D 表面某個區域上的貼圖像素數量。算法是把貼圖解析度除以 UV 單位下的 UV 島大小。如果一張 2048 像素的貼圖鋪在兩公尺大的 UV 島上,那個島的密度就是每公尺 1024 像素。如果另一個島只有半公尺大,卻仍用同一張 2048 像素貼圖,它的密度就是每公尺 4096 像素。放在第二個島旁邊,第一個島看起來就是模糊的,即使兩者用的是同一張影像。
實務規則:讓各 UV 島的 texel 密度彼此差距在約 10% 以內。Blender 不會自動強制這件事。Smart UV Project 打包 UV 島是為了空間效率,不是密度一致性。你可以在 UV 編輯器裡打開 Stretch 疊加顯示,或拿 0–1 方格裡的島大小與它們代表的表面積相比來檢查。在 2K 貼圖上,50% 的密度差看得出來。10% 的差異看不出來。
如果不同部位需要不同密度,那沒問題。主視覺武器和遠處背景道具可以用不同密度,因為它們離鏡頭的距離不同。但在同一個資產內,一致性比絕對解析度更重要。一致的每公尺 512 像素,會比 256 與 1024 混在一起好看。
匯出前先檢查 UV
三個檢查幾乎能在 UV 問題進到匯出器之前就攔下來。在 UV 編輯器裡做,並讓 3D 視圖保持可見,這樣你能同時看到座標圖與表面。
第一,拉伸的面。在 UV 編輯器打開 Stretch 疊加顯示,或用 Display > Stretch 選項。相對於 3D 形狀被拉伸的面會顯示成紅色或藍色。如果你在曲面上看到大面積紅色,表示展開沒有把面積保留好。旋轉該 UV 島、加一道接縫,或把那一區改用 Angle Based。第二,重疊的 UV 島。重疊代表兩個面佔用 0–1 方格裡的同一點,其中一個會蓋住另一個。在 UV 編輯器全選,找出彼此疊在一起的島。Blender 不會警告你。第三,超出範圍的 UV 島。被推到 0–1 方格外的島,除非材質使用 tiling,否則取樣不到貼圖。在 UV 編輯器啟用 UV > Constrain to Image Bounds,或手動檢查四個角。對一對一貼圖來說,任何超出 0–1 的東西都是問題。
要一次揭露這三種問題,最快的方法是在 UV 編輯器選取整個網格,用 Pack Islands(Ctrl+P)並設定很小的邊距。這不會修好拉伸或重疊,但會讓超出範圍的島很明顯,因為它們會被移回方格內。如果打包後 UV 突然看起來正確,那它們原本就是超出範圍。如果它們仍然重疊,那就是真的重疊,得處理。
為了遊戲即用拓撲的四邊形重網格
雕塑會有三角形、密集區域,以及不均的邊流。遊戲即用網格則有四邊形、均勻密度,以及能在動畫中變形的乾淨邊環。四邊形重網格就是把前者轉成後者。Blender 內建一個叫 QuadriFlow 的重網格工具,在 Sculpt Mode 的 Remesh 底下。它免費,而且能在多數雕塑上產生四邊形網格。付費替代方案是專門的重網格工具,例如 Exoside Quad Remesher,能處理複雜造型、減少瑕疵,並讓你直接控制目標面數與對稱。對硬表面模型來說,你通常兩個都不需要:從一開始就用乾淨拓撲建模。
流程順序是雕塑、重網格、UV 展開、烘焙。先雕塑取得形體。第二重網格,取得遊戲即用拓撲。第三 UV 展開,讓接縫與 UV 島跟著最終邊流走。第四烘焙,把高模雕塑的細節轉到低模重網格後的網格上。如果你把重網格與 UV 展開對調,重網格會重建網格迴圈,你的 UV 座標會被丟掉。Blender 可能保留 UV 層名稱,但座標不再對應到新的面。你得重做 UV 展開。
把資產匯出到遊戲引擎,或帶進 Neta Studio 時,也適用同一順序。乾淨四邊形重網格後的資產,UV 展開可預期。沒做重網格的三角化雕塑,會展開成數百個小 UV 島,打包成本高,也很難一致地貼圖。
01
在 Blender 裡雕塑高模形體,或從雕塑工具匯入。
02
執行 QuadriFlow(Sculpt Mode > Remesh > QuadriFlow),或使用你的付費重網格工具。把目標面數設在遊戲引擎能負擔的範圍。
03
檢查重網格結果有沒有瑕疵:擠壓、細節遺失,或四邊形大小不均。先修好再往下走。
04
標接縫,展開重網格後的網格。讓各 UV 島的 texel 密度差距維持在約 10% 以內。
05
用 Cycles 或專門的烘焙工具,把高模細節烘焙到低模網格上。
06
匯出成 .glb,再把檔案重新匯入 Blender,確認 UV 有保留下來。
重網格後的自動綁定
綁定不會改變 UV。它會改變網格的頂點群組與骨架修改器,但 UV 層留在原位。你可以在 UV 展開前或後綁定。實務上會建議在重網格後、最終貼圖前綁定,因為你想在遊戲即用拓撲上測試變形,而不是在雕塑上測。
三條路。第一,Blender 內建綁定:加一個骨架,用 Automatic Weights 將網格設為子物件,讓 Blender 計算骨骼影響。它免費,適合簡單人形或機械骨架。遇到複雜服裝或特殊比例就吃力。第二,外部自動綁定工具,例如 Mixamo 或獨立工具:你上傳或匯入網格,它回傳已綁定的骨架。對標準人形很快,但對骨骼位置與權重的控制較少。第三,AI 綁定工具,例如 Neta Studio 的 Agent Sprite Forge 裡的那個:它從網格產生骨架並處理權重。當你想在瀏覽器裡直接得到一個綁好的角色、不想離開工具,又不需要手調每根骨頭時,這是合理的選擇。
判斷規則很簡單。如果角色是標準人形,而且你今天就要它能動,用自動綁定。如果角色造型特殊,或你需要精準變形,用 Blender 內建綁定並手動繪製權重。如果你是在瀏覽器裡的 3D 世界產生器裡建造,想讓角色立刻能走,就用 AI 綁定,並接受之後再細修權重。
匯出 .glb 而不弄壞 UV
有三個匯出設定會默默丟掉你的 UV 工作。第一,UV 匯出選項。在 Blender 的 glTF 匯出器裡,Data > Mesh 底下有一個 UV 的核取方塊。如果它沒開,.glb 就不含 UV 座標,每個材質都會從錯誤的位置取樣。把它打開。第二,作用中的 UV map。如果你的網格有多個 UV 層,而作用中的不是你所展開的那一層,匯出器預設會拿作用中的那層。匯出前把正確的層設為作用中。第三,材質匯出。如果你匯出時不含材質,.glb 沒有貼圖參照,但 UV 還在。問題是反過來:如果你帶著材質匯出,而材質用了沒打包的貼圖,.glb 會參照到一個不存在的檔案。匯出前用 File > External Data > Pack Resources。
能保住 UV 的設定:Format 選 glTF Binary(.glb)、Include UVs 開啟、Include Normals 開啟、Include Materials 開啟,Compression 關閉;除非你用 Draco 且已確認它保留 UV 層。Draco 壓縮可能改變精度,所以先拿一個小資產測試,再壓整批資源庫。要壓縮最終 .glb 又不弄壞 UV,請用處理二進位容器的工具,而不是重新編碼網格資料。
匯出後,把 .glb 重新匯入一個全新的 Blender 場景,檢查 UV 編輯器。如果 UV 島還在,貼圖也對得上,匯出就是乾淨的。如果 UV 島不見了,表示 UV 選項沒開。如果 UV 島還在但位置跑掉,表示作用中的 UV 層設錯了。
常見錯誤與修正
以下是八個最常見的 UV 症狀,附上成因與以 UV 觀點看的修正方式。它們都不是動畫問題,即使看起來像。
| 症狀 | 成因 | 修正 |
|---|---|---|
| 貼圖在曲面上看起來被拉伸 | 展開沒有保留面積;UV 島對該曲度來說太小 | 沿著曲面加一道接縫,或把該 UV 島改用 Angle Based |
| 模型某一部位的貼圖模糊 | 那個 UV 島的 texel 密度比其他地方低 | 在 UV 編輯器縮放該 UV 島,直到密度差距在 10% 以內 |
| 兩個面顯示相同的貼圖細節 | 重疊的 UV 島佔用相同的 0–1 空間 | 在 UV 編輯器選取重疊的 UV 島,把它們分開,再重新打包 |
| 某個面完全沒有貼圖 | UV 座標落在 0–1 方格之外 | 啟用 Constrain to Image Bounds,或手動把 UV 島移進方格內 |
| 接縫在表面上以一條線的形式露出來 | 貼圖在切口兩側接不起來 | 把接縫移到看不見的面,或讓貼圖能跨邊界重複 |
| Smart UV Project 產生數百個小 UV 島 | 角度門檻對這個幾何來說太低 | 把角度限制提高到 66 度,再重新打包 |
| 重網格把 UV 刪掉了 | 重網格是在 UV 展開之後才執行 | 重網格後重新展開 UV;永遠先重網格再展開 |
| 匯出的 .glb 沒有貼圖 | UV 匯出沒開,或作用中的 UV 層設錯了 | 在匯出器啟用 UV,並把正確的層設為作用中 |
走進它所屬的世界
精靈角色就是一個無處可站的角色。最後這一步是別人沒提供的:把你剛做好的精靈表放進一個有人能走動的世界 — 一座小島、一顆行星、一個下雨的街角。這個網站上的每個世界,都是從一段文字描述生成,並發佈成一個可以直接玩的頁面。
回到 3D Game Builder
全部 31 個完成的 3D 世界、遊戲與場景都在同一頁 — 每一個都能玩。