Blender UV 展開與重網格工作流程

Blender UV 展開與四邊形重網格 — 遊戲就緒工作流程指南

打造你自己的 Blender UV 展開

學習如何在 Blender 中為遊戲就緒資產進行 UV 展開與四邊形重網格 — 接縫、投影、紋素密度,以及能讓拓撲保持乾淨的重網格流程。內含可實際旋轉檢視的真實前後對照模型。

✦遊戲
製作一個 Blender UV 展開

在 Blender 中,UV 展開是一個座標對應步驟,而不是紋理化步驟。你要把 3D 表面攤平成 2D 平面,讓每一個多邊形都能在不失真的情況下取用 2D 影像。U 軸沿 UV 網格水平延伸,V 軸則垂直延伸。當你展開一個立方體時,Blender 會沿著邊緣切開,並把六個面攤平放進 0–1 的方形區域內。那個方形是紋理唯一能存在的地方。它之外的一切都未被使用,或是由平鋪設定環繞而成。

本指南涵蓋遊戲就緒資產的 Blender UV 展開工作流程,接著說明必須在它之前進行的四邊形重網格流程。順序很重要:雕刻、重網格、展開、烘焙。如果你先展開一個高密度雕刻,之後才重網格,UV 島嶼就不再對應最終拓撲,你得重做展開。把模型帶進 Neta Studio 的 3D 遊戲建造器時,同樣的規則也適用:乾淨的四邊面與一致的紋素密度能安然通過,雜亂的三角面與不均勻的島嶼則不行。

重點摘要:決定 UV 的四件事

如果你只讀一點,就讀這四點。它們涵蓋了在遊戲資產上造成最多重工的決定。

  • 展開是座標映射,不是紋理UV 層為每個網格迴圈儲存一組 U、V 座標。它不包含像素。你可以展開一個模型,卻在材質讀取那個映射之前,完全不知道它會長什麼樣子。
  • Smart UV Project 涵蓋多數遊戲資產對於硬表面道具、武器與建築,以 66 度角度限制執行 Smart UV Project,能產生可用的島嶼,且幾乎不需要手動標記接縫。在你動手手動標記之前,先用它。
  • 紋素密度不一致會被看成模糊如果一個島嶼的紋素密度只有另一個的一半,即使兩者使用同一張 2K 紋理,低密度的那個島嶼看起來仍會偏軟。讓各島嶼之間的差異維持在約百分之十以內,否則差異會很明顯。
  • 先重網格再展開,而非反過來重網格會重建拓撲。在它之前建立的任何 UV 都會失效,因為那些網格迴圈已不存在。務必在標記任何一條接縫之前,先完成雕刻與重網格。

UV 展開究竟做了什麼

想像一個用紙做的盒子。沿著特定邊緣剪開、攤開,然後平放在桌面上。那張攤平的紙就是 UV 佈局。被剪開的邊緣就是接縫。3D 盒上的每個頂點現在在那張平紙上都有一個座標:U 代表水平位置,V 代表垂直位置。0–1 的方形就是紋理空間。當材質取樣一張影像時,它會讀取每個片段的 UV 座標,並取出該處的顏色。

展開不是紋理化。一個網格可以有完美的 UV 卻沒有材質,也可以有材質卻 UV 破損。展開步驟只定義每個多邊形在影像上的取樣位置。如果你略過它,Blender 會套用預設投影,這種投影在曲面會拉伸、在鏡像幾何上會重疊。結果就是一個乍看之下有紋理、但仔細一看就破功的模型。

一句能讓人免於麻煩的話:如果你無法描述某個面在 0–1 方形中的位置,你的展開就還沒完成。UV 編輯器會顯示那個方形。3D 視埠不會。

大家都會用的展開快速鍵

在編輯模式中選取面,按 U,然後選擇「展開(Unwrap)」。這是標準流程。Blender 會對選取的面執行所選的展開演算法,並把結果寫入作用中的 UV 層。如果沒有選取任何東西,它會對所有可見部分運作,而在複雜網格上這幾乎不是你想要的。

多數人實際上用的是另一個變體:Smart UV Project。同一個 U 選單,不同的項目。Smart UV Project 不會要求你先標記接縫。它從多個角度投影網格、偵測尖銳角度,並自動打包產生的島嶼。對於帶有平面板件與硬邊的遊戲道具,它比手動放置接縫更快、也更可預測。

下方的快速鍵表格列出你在 UV 編輯器與 3D 視埠中最常用的按鍵。學會這些,你就能避免在每個資產上都得翻找選單。

動作快速鍵情境
展開選單U編輯模式、3D 視埠
標記接縫Ctrl+E, Mark Seam編輯模式、邊選取
清除接縫Ctrl+E, Clear Seam編輯模式、邊選取
選取相連L編輯模式、游標移至島嶼上
切換 UV 編輯器Shift+F10 或工作區分頁任何模式
打包島嶼於 UV 編輯器按 Ctrl+PUV 編輯器、島嶼選取

Smart UV Project 對比 Angle Based 對比 Conformal

Blender 內建三種主要的展開演算法,外加幾種專門用途的演算法。下方表格列出每一種的功能、擅長之處、關鍵的角度門檻,以及何時該避免使用。對於硬表面遊戲資產,以 66 度限制執行 Smart UV Project 是預設建議。它能處理定義板件與倒角的尖銳角度,無需手動標記接縫,並產生能有效打包的島嶼。

Angle Based 與 Conformal 是較舊的演算法,必須在你標記接縫後才會運作。Angle Based 會保留邊與邊之間的角度,可減少有機形體上的拉伸。Conformal 會保留保角角度,在曲面上往往產生較多變形,但在平面上重疊較少。如果你要展開一顆角色頭部,搭配手動標記接縫的 Angle Based 通常是更好的選擇。如果你要展開一個木箱或一把步槍,Smart UV Project 更快。

Smart UV Project 中的角度門檻,控制 Blender 把網格切分成島嶼的積極程度。較低的門檻會產生更多島嶼,並跟隨更銳利的細節。較高的門檻則產生較少島嶼,並可能跨越你原本想分開的邊緣。在 66 度時,多數硬表面幾何會在你本來就會標記接縫的倒角與板件線處切開。

演算法最適合用於角度門檻何時不該使用
Smart UV Project硬表面道具、武器、建築、快速草模66 度(預設 66°)曲率平滑、硬邊很少的有機雕刻
Angle Based有機角色、生物、臉部、手部不適用 — 使用標記的接縫帶有許多尖銳角度的網格;會產生更多重疊
Conformal平面板件、機械零件、低變形的平面不適用 — 使用標記的接縫彎曲的有機表面;在球體上拉伸較大
Lightmap Pack烘焙光照或環境光遮蔽貼圖不適用 — 逐面打包帶有紋理的色彩貼圖;除非每個面都獨一無二,否則會重疊

接縫:該在哪裡切

接縫是網格被剪開、以便攤平的邊緣。只要紋理在切口兩側相符,或切口位於看不見的面上,接縫在最終算圖中就不會被看見。接縫放在哪裡,決定了展開演算法必須解決多少變形。

四條規則涵蓋多數情況。第一,把接縫藏在鏡頭永遠看不到的面上:底部、內側表面、後腦勺、頭盔內側。第二,沿著表面本來就斷開的硬邊切。倒角線是天然的接縫,因為那兩個面不共用平滑法線。第三,在材質交界處切。如果一個道具同時有金屬段與橡膠握把,每種材質都想要自己的島嶼,好讓紋素密度在需要時可以不同。第四,盡量少用接縫。每一條接縫都會增加一道邊界,並在紋理無法完美平鋪時,提高出現可見落差的機率。

三個示範切法。步槍:沿槍管頂部、槍托背面往下,以及彈匣井下方切接縫。角色頭部:沿後腦勺往下、下顎下方,以及耳朵後方切。木箱:沿一條垂直邊、頂部邊緣一圈,以及底部邊緣一圈切。這些切法能讓網格攤平成少數幾個大島嶼,而不是數十個碎片。

紋素密度,以及你的紋理為何看起來模糊

紋素密度是落在 3D 表面某一給定面積上的紋理像素數量。計算方式是把紋理解析度除以以 UV 單位表示的島嶼大小。如果一張 2048 像素的紋理攤布在一個兩公尺的島嶼上,該島嶼的密度就是每公尺 1024 像素。如果另一個島嶼只有半公尺,卻仍使用同一張 2048 像素的紋理,它的密度就是每公尺 4096 像素。即使兩者使用同一張影像,第一個島嶼在第二個旁邊看起來就是模糊的。

實用規則:讓各島嶼的紋素密度彼此維持在約百分之十以內。Blender 不會自動強制這一點。Smart UV Project 打包島嶼是為了空間效率,而非密度一致性。你可以在 UV 編輯器中啟用 Stretch 疊加顯示來檢查,或是在 0–1 方形中比較各島嶼大小與它們所代表的面積。在 2K 紋理上,百分之五十的密度差異肉眼可見。百分之十的差異則看不出來。

如果你不同部位需要不同密度,那沒問題。一把主角武器與一個遠處的背景道具可以使用不同密度,因為它們與鏡頭的距離不同。但在單一資產內,一致性比絕對解析度更重要。均勻的每公尺 512 像素,看起來比 256 與 1024 混用更好。

匯出前檢查你的 UV

三項檢查能在幾乎所有 UV 問題到達匯出器之前就攔下它們。在 UV 編輯器中執行這些檢查,並讓 3D 視埠同時可見,這樣你就能同時看到映射與表面。

第一,拉伸的面。在 UV 編輯器中,開啟 Stretch 疊加顯示,或使用 Display > Stretch 選項。相對於其 3D 形狀被拉伸的面,會以紅色或藍色顯示。如果你在曲面上看到大片紅色區域,代表展開未能妥善保留面積。請旋轉該島嶼、加上一條接縫,或為該區塊改用 Angle Based。第二,重疊的島嶼。重疊代表兩個面佔據 0–1 方形中的同一處,其中一個會遮住另一個。在 UV 編輯器中全選,找出彼此疊在一起的島嶼。Blender 不會警告你。第三,超出範圍的島嶼。被推到 0–1 方形之外的島嶼,除非材質使用平鋪,否則不會從紋理取樣任何東西。在 UV 編輯器中,啟用 UV > Constrain to Image Bounds,或手動檢查角落。對於一對一的紋理映射,任何超出 0–1 的東西都是問題。

揭露這三種問題最快的方法,是在 UV 編輯器中選取整個網格,並以一小段邊距使用 Pack Islands(Ctrl+P)。這並不會修好拉伸或重疊,但會讓超出範圍的島嶼變得明顯,因為它們會被移回方形內。如果你的 UV 在打包之後突然看起來正確,那就代表它們原本超出範圍。如果它們仍然重疊,那就有真正的重疊需要解決。

這是真實的 Blender 匯出檔。切換到線框模式,即可看到由 UV 衍生的拓撲。

為遊戲就緒拓撲進行四邊形重網格

一個雕刻帶有三角面、密集區域與不均勻的邊流。一個遊戲就緒的網格則有四邊面、均勻密度,以及在動畫中變形時依然乾淨的邊環。四邊形重網格把前者轉換成後者。Blender 有一個名為 QuadriFlow 的內建重網格工具,可在雕刻模式的 Remesh 下找到。它免費,且能在多數雕刻上產生四邊面網格。付費的替代方案是專門的重網格工具,例如 Exoside Quad Remesher,它能以更少的人工痕跡處理複雜形狀,並讓你直接控制目標面數與對稱性。對於硬表面模型,你通常兩者都不需要:從一開始就以乾淨拓撲建模即可。

工作流程的順序是雕刻、重網格、展開、烘焙。先雕刻以取得形體。第二重網格以取得遊戲就緒拓撲。第三展開,讓接縫與島嶼依循最終的邊流。第四烘焙,把細節從高模雕刻轉移到低模重網格後的網格上。如果你把重網格與展開對調,重網格會重建網格迴圈,你的 UV 座標就會被丟棄。Blender 可能保留 UV 層的名稱,但那些座標不再對應新的面。你得重做展開。

當你匯出到遊戲引擎,或把資產帶進 Neta Studio 時,同樣的順序也適用。一個經過重網格、帶有乾淨四邊面的資產,展開起來可預期。一個未經重網格流程的三角化雕刻,會展開成數百個小島嶼,既難以打包,也難以一致地上紋理。

1

01

在 Blender 中雕刻高模形體,或從雕刻工具匯入。

2

02

執行 QuadriFlow(雕刻模式 > Remesh > QuadriFlow)或你的付費重網格工具。把目標面數設定為遊戲引擎能負擔的量。

3

03

檢查重網格結果是否有瑕疵:擠壓、細節流失,或四邊面大小不均。在繼續之前先修正這些問題。

4

04

標記接縫並展開重網格後的網格。讓各島嶼的紋素密度維持在約百分之十以內。

5

05

使用 Cycles 或專門的烘焙工具,把高模細節烘焙到低模網格上。

6

06

匯出為 .glb,並把檔案重新匯入 Blender,以確認 UV 是否保留。

重網格後的自動綁定

綁定不會改變你的 UV。它會改變網格的頂點群組與骨架修改器,但 UV 層本身維持不變。你可以在展開之前或之後綁定。在重網格之後、最終上紋理之前綁定的實際理由,是你想在遊戲就緒拓撲上測試變形,而不是在雕刻上測試。

三條路徑。第一,Blender 的內建綁定:新增骨架、以自動權重將網格設為子物件,讓 Blender 計算骨骼影響。它免費,且對簡單的人形或機械骨架有效。它面對複雜服裝或比例特殊的情況會很吃力。第二,外部自動綁定工具,例如 Mixamo 或獨立工具:你上傳或匯入網格,它回傳一個已綁定的骨架。它對標準人形很快,但你對骨骼位置與權重的控制較少。第三,AI 綁定工具,例如 Neta Studio 的 Agent Sprite Forge 中的那一個:它從網格生成骨架並處理權重。當你想在瀏覽器中、不離開工具就取得一個已綁定的角色,而且不需要逐一微調每根骨骼時,它是理智的選擇。

決策規則很簡單。如果角色是標準人形,而且你今天就要它能動,請用自動綁定工具。如果角色很不尋常,或你需要精確的變形,請用 Blender 的內建綁定並手動繪製權重。如果你是在瀏覽器式的 3D 世界建造器中建構,並想讓角色立刻能走動,請用 AI 綁定工具,並接受你之後會再微調權重。

匯出為 .glb 而不破壞你的 UV

有三個匯出設定會悄悄丟棄你的 UV 成果。第一,UV 匯出選項。在 Blender 的 glTF 匯出器中,Data > Mesh 之下有一個 UV 的核取方塊。如果它是關閉的,.glb 就不含任何 UV 座標,每個材質都會從錯誤的位置取樣。請把它打開。第二,作用中的 UV 映射。如果你的網格有多個 UV 層,而作用中的那個不是你所展開的,匯出器預設會採用作用中的那一個。匯出前請把正確的層設為作用中。第三,材質匯出。如果你在不含材質的情況下匯出,.glb 不會有紋理參照,但 UV 仍然存在。問題恰恰相反:如果你連材質一起匯出,而材質使用了一張未打包的紋理,.glb 就會參照一個遺失的檔案。匯出前請使用 File > External Data > Pack Resources。

能保住你 UV 的設定:Format glTF Binary(.glb)、Include UVs 開啟、Include Normals 開啟、Include Materials 開啟,以及 Compression 關閉——除非你使用 Draco 並已確認它能保留 UV 層。Draco 壓縮可能改變精度,所以在壓縮整個資料庫之前,先拿一個小資產測試。若要在不破壞 UV 的前提下壓縮最終的 .glb,請使用對二進位容器本身運作的工具,而不是重新編碼網格資料。

匯出之後,把 .glb 重新匯入一個全新的 Blender 場景,並檢查 UV 編輯器。如果島嶼都在、紋理也對齊,匯出就是乾淨的。如果島嶼不見了,代表 UV 選項是關閉的。如果島嶼還在但位置偏移,代表作用中的 UV 層錯了。

還沒有模型?先生成一個,再把它帶回這套工作流程。

常見錯誤與修正

以下是八個最常出現的 UV 症狀,並以 UV 的角度說明成因與修正方式。它們全都不屬於動畫問題,即使看起來像是。

症狀成因修正
紋理在曲面上看起來被拉伸展開未保留面積;島嶼對該曲率而言太小沿曲線加上一條接縫,或為該島嶼改用 Angle Based
紋理在模型的某個部位模糊該島嶼的紋素密度比其餘部位低在 UV 編輯器中縮放該島嶼,直到密度差異在百分之十以內
兩個面顯示相同的紋理細節重疊的島嶼佔據相同的 0–1 空間在 UV 編輯器中選取重疊的島嶼並將它們分開,然後重新打包
某個面完全沒有紋理UV 座標落在 0–1 方形之外啟用 Constrain to Image Bounds,或手動把島嶼移進方形內
接縫在表面上顯示為一條線紋理在切口兩側不相符把接縫移到看不見的面,或讓紋理跨越邊界平鋪
Smart UV Project 產生數百個細小島嶼角度門檻對該幾何而言太低把角度限制提高到 66 度並重新打包
重網格刪除了 UV重網格是在展開之後才執行在重網格之後重新展開;永遠先重網格再展開
匯出的 .glb 沒有紋理UV 匯出是關閉的,或作用中的 UV 層錯了在匯出器中啟用 UV,並把正確的層設為作用中

走進它所屬的世界

精靈圖是一個無處可站的角色。最後這一步是別的服務提供不了的:把你剛做好的圖集,放進一個有人能漫步其中的世界——一座小島、一顆行星、一個下雨的街角。這個網站上的每個世界,都是由一句文字描述打造而成,並以一個你能遊玩的頁面發佈。

回到 3D 遊戲建造器

全部 31 個完成的 3D 世界、遊戲與場景都在同一頁——每一個都能遊玩。

平台:Neta Studio頁面:Blender UV 展開與四邊形重網格接著閱讀:/explore/tool/3d-model-generator · /explore/tool/glb-viewer · /app/3d-game-builder/blender-model-gallery
×