你把角色插畫丟進 AI,看到一頂立體頭髮,轉個角度卻發現髮根浮起來;一播放動畫,瀏海又穿進額頭。這篇 HairDeck 教學 要解決的,就是從「預覽好看」走到「能檢查、能修改、能交付」之間的距離。
本文寫給第一次接觸 3D 頭髮的 VTuber 與遊戲創作者:先用網頁 Demo 看懂操作,再用 Blender 檢查分片與 UV,最後驗收 VRM 動態。有 Linux/CUDA 環境的讀者可照指令生成;只有一般筆電,也能先學會挑選與驗收。
以下依 2026 年 11 月 1 日的官方模型卡、介面與固定版本程式整理。AlphaLab 本次擷取了 Demo 介面、檢查了程式,未執行 GPU 生成;四組變體的紀錄欄位是給你填寫的工作單,不是本次測得的成績。
先說結論:可交付頭髮=分片幾何+骨鏈綁定+目標軟體驗收
把頭髮想成一束緞帶:hair cards 是緞帶的形狀,spring bones 是帶動緞帶的關節鏈,蒙皮權重則決定每一段跟誰走。 生出形狀、讓它擺動、在你的角色身上工作,是三個要各自檢查的成果。
- 先看輸入處理,再挑 seed;裁切錯了,換四次隨機結果也可能繼續錯。
- GLB 適合先驗收幾何與 UV;橘色骨鏈的視覺化,也要和真正的動態播放分開看。
- 目前官方匯出路線是 VRM 0.x,預設套到提供的示範身體;換成自己的角色後,重新驗收尺寸、綁定與碰撞。
一、HairDeck 教學:先認識五個零件
HairDeck 官方專案處理的是風格化角色頭髮。它把每片頭髮編成一個 token,再共同生成整組分片,另生成驅動它們的骨鏈。這裡的 token 像一張零件卡,不是聊天時看到的一個中文字。
- 角色圖「設計稿」:提供可見的髮型輪廓;本輪先用你有權使用、頭髮邊界清楚的一張圖。
- 遮罩與裁切「剪紙範圍」:辨認人物、頭髮與臉,把圖整理成模型看到的輸入。
- 分片幾何「緞帶」:描述每片的位置、形狀與方向。
- UV「貼紙座標」:告訴材質如何對上表面;有座標,仍要確認貼圖與材質是否符合成品需求。
- 骨鏈與蒙皮「提線系統」:關節帶動網格,spring-bone 模擬再讓它隨動作擺動。
這和一般物件圖生 3D 的交付問題不同。若你正在比較整體建模工具,可先看 Modly 圖生 3D 教學;這裡則把驗收單縮到頭髮這一個零件。
二、先用官方 Demo:固定圖片,產生四組變體
不知道從哪裡按起?打開 官方 Demo,在 Source image 上傳圖片,把 Variations 選成 4。展開 Advanced settings,記下 Seed、Sampling steps 與 Guidance scale,再按 Generate hair。第一輪可保留介面預設的 seed 0、50 steps 與 guidance 2。

Seed 是起始亂數編號,像抽籤的起點。官方命令列程式定義四組結果使用連續 seed:若起點是 0,便是 0、1、2、3。把 seed 和圖片、程式版本、steps、guidance 一起保存,才有重查的依據;不要只留下「第三張最好看」。
挑選時先拖曳 3D preview 看前、側、後面,再切換 Reference head 與 Spring bones。前者是參考頭部,後者協助看骨鏈位置。選定 Variation 後按 Preview motion 或 Export VRM;下載檔案時再次核對 seed,避免把 A 的預覽與 B 的檔案交出去。
三、遮罩錯誤怎麼定位?沿著三張圖往前找
頭上多出奇怪尖片,應先調模型參數嗎?先開 Input details。輸入處理面板程式用洋紅表示頭髮、綠色表示臉、橘框表示裁切範圍;旁邊才是模型實際收到的裁切圖。它們是診斷圖層,並非最後材質。
- ① 看原圖:確認整個髮型在畫面內,帽子、角、手和特效是否貼近髮絲。
- ② 看遮罩:頭髮區域有沒有漏掉長髮,或把道具一起圈進去?先換一張邊界更清楚、構圖較單純的授權圖片再比較。
- ③ 看裁切圖:若馬尾已被切掉,先修正輸入;若裁切完整而輸出仍缺片,再把問題記在生成幾何欄。
本機輸出中,input.png、prep.png、model_input.png 對應這條追查路徑。論文的失敗案例也展示:遮罩保留的帽子、角或其他物件可能變成頭髮分片。這是作者展示的具體失敗來源,並不是每張圖片的失敗率。
四、HairDeck 教學四變體紀錄:先淘汰硬傷,再選風格
四張圖各有優點,怎麼避免憑感覺選?用同一張驗收單逐項填寫。 先檢查外輪廓、髮根、分片方向與背面覆蓋;通過靜態檢查後,再填動態與目標軟體結果。下面四欄是空白工作單,勾選與問題都由你的輸出決定。

在筆記裡建立 seed 0/1/2/3 四筆紀錄,每筆寫「輪廓、髮根、分片、背面、動態、目標軟體」,狀態用「待驗/通過/需修」。例如「seed 2,後腦有空洞,需修」只是填寫示例;不要把本文的示例當作 HairDeck 的實際結果。
挑選順序是:先排除髮根明顯離頭、大片缺髮或錯把道具生成頭髮的結果,再從其餘結果挑風格。若四組都有同一處問題,回看共同輸入;若只有一組出現,才優先比較變體。這是排錯方法,不是保證問題一定在哪一層。
五、把 GLB 放進 Blender,檢查分片與 UV
下載 hair_seed0.glb,在 Blender 用 File → Import → glTF 2.0 匯入;需要單獨頭髮時改開 hair_seed0_nohead.glb。依 Blender 4.2 glTF 手冊,glTF 可傳遞網格、材質與 UV 等資料。先另存一份 .blend 工作檔,再修改。
分片保留,不等於 Outliner 裡一片一個物件。 目前 GLB 寫出程式會把頭髮分片合成一個 mesh,保留各片頂點、面與 UV。進入 Edit Mode,把滑鼠放在一片上按 L 選取相連幾何;如要拆成物件,可用 P → By Loose Parts。這是編輯選擇,不必為了驗收而先拆散全部零件。
切到 UV Editing,選取一片頭髮,確認左側出現對應 UV。UV 像緞帶上的印刷定位,重疊是否可接受要看你的材質策略;不能只因每片有 UV,就認定已做好可直接販售的紋理圖集。官方輸出帶有髮色,仍應在自己的燈光與材質環境檢視。
最後繞到側面與後面,檢查髮根位置、尖端方向、是否有孤立碎片。若你想把 Blender 納入 AI 素材管線,可接著讀 Blender 與圖生 3D 素材工作流;做場景時則參考 照片轉 3D 場景的視角檢查。
六、VRM 動態驗收:會擺動後,還要看四件事
在 Demo 選定相同 seed,依序執行動態預覽與 VRM 匯出。官方模型卡明列 VRM 0.x,預設把頭髮接到提供的 avatar body。在示範角色上成功,仍要在你實際使用的角色與播放軟體重新測試。 檔案副檔名相同,並不能替代版本相容性檢查。

- 髮根:轉頭時是否穩定留在應附著的位置?若整片漂走,回查父子關係與權重。
- 穿模:慢轉頭、回正和停下時,瀏海是否進入額頭,長髮是否穿過肩膀?
- 抖動:停下後是否持續不自然跳動?一次只改一項彈性或阻尼參數,再播放同一段動作。
- 外觀:靜止與動態都看前、側、後面;用你真正要交付的軟體開啟,再檢查材質、頭髮位置與運動。
Spring bone 可以理解為「會回彈的關節鏈」;碰撞體則像頭部外的一層安全墊。UniVRM 的 VRM 0.x 說明列出 Root Bones、Stiffness Force、Gravity Power 與 Collider Groups 等設定。發現穿模時先查碰撞體的位置、大小和骨鏈關聯,再評估彈性;把所有參數一起調高,會失去比較依據。
官方 檔案檢查器會檢查格式、索引、蒙皮與部分匯出一致性;它的成功訊息只對應那些檢查。把 check.json 或匯出狀態、轉頭影片、目標軟體版本一起留存,才知道「通過」指的是哪一關。這種拆開成功條件的方法,也可用 AI 評測的基本觀念理解。
七、有合適 GPU 才走本機:安裝與可追查指令
本機路線先盤點環境。官方安裝條件是 Linux x86-64、Python 3.12 與 NVIDIA CUDA GPU;發布版本測試環境為 PyTorch 2.8、CUDA 12.8,影片另需 PATH 中有 ffmpeg。這不是一般 Mac 的安裝配方。本次 Apple Silicon 環境採文件與程式檢查,沒有下載整套模型。
在已準備好的 Python 3.12 獨立環境中執行下列安裝。獨立環境像一個工具箱,避免把這個專案的套件混進其他工作。
git clone https://github.com/hyz317/HairDeck.git
cd HairDeck
git checkout 07a7370c7205b2b3ba4ebb08de795b54730b9dd7
python -m pip install -r requirements.txt
python -m pip install --no-deps pyrender==0.1.45
接著先在 Hugging Face 接受 SAM 3 與 DINOv3 的存取及授權條件,再登入。下列工作目錄只是你自行選擇的位置;下載器會取得權重、支援資產,以及 Linux 版 Blender 4.2 LTS 與 VRM Add-on,先確認磁碟與網路空間。
hf auth login
export HAIRDECK_ROOT="$PWD/workspace"
python scripts/setup/download_weights.py
python scripts/image_to_hair.py character.png --out results/my_character --n 4 --seed 0
python -m hairdeck.vrm.export results/my_character/character 0 both
把你有權使用的圖片放成專案根目錄的 character.png。最後一行會針對 seed 0 匯出 VRM 並產生轉頭預覽;選其他變體時,把 0 換成該 seed。匯出入口接受 vrm、turn 或 both。輸出預期放在 results/my_character/character/,請核對檔案與匯出狀態,而非僅看指令結束。
程式與 HairDeck checkpoints 採 Apache-2.0,第三方模型、資料及角色素材保留各自授權。商用前逐項確認輸入圖、身體模板與依賴模型的條件;示範角色能下載,並不直接回答你能否拿它作為商業成品。
八、常見問題:先把八個疑問說清楚
1. 完全不懂 3D,也能開始嗎?
可以。先用 Demo 固定一張圖、四個 seed,學會看輪廓與輸入處理。修改 UV、綁定與碰撞則需要補 Blender 的基本操作。
2. 四組變體一定會有一組合格嗎?
不保證。四組只是候選;若共同輸入有問題,就先回到遮罩與裁切,而不是替結果打出虛構的成功率。
3. seed 相同,就一定逐位元一致嗎?
不要只靠 seed 判定。把程式版本、模型檔案、圖片與生成設定一起保存,再比較產物;本篇沒有跨硬體一致性的測試結果。
4. GLB 裡一個頭髮物件,是分片遺失了嗎?
不一定。目前官方寫出路徑把分片放進同一 mesh。用 Edit Mode 的相連幾何選取,以及原始 cards JSON,分別核對編輯結構與生成資料。
5. UV 存在,就代表完整貼圖好了嗎?
不等於。UV 是座標;材質、貼圖內容與最終光照仍要另驗收。先看實際目標軟體裡的外觀。
6. VRM 匯出能直接替換我角色的頭髮嗎?
先當作待整合資產。目前預設匯出使用示範身體;換自己的角色後,重新檢查頭部尺度、髮根、骨架與權重。
7. 看到橘色骨鏈,就表示物理正常嗎?
還要播放。骨鏈位置可視化與動態結果是不同證據;轉頭、停下、回正時都要觀察穿模與抖動。
8. 應該交付哪些檔案?
交付選定 seed 的 GLB/VRM、相關 cards 與 chains JSON、生成設定與檢查紀錄。另附轉頭影片及目標軟體版本,讓接手者知道已驗到哪一步。
給新手的三個重點
- 先定位錯誤發生在輸入、幾何,還是動態,才選下一個要改的設定。
- 用可編輯的工作檔與原始 JSON 保留退路,挑選紀錄綁定同一 seed。
- 將檔案檢查、視覺檢查、目標軟體播放分開記錄;每一個「通過」都附具體證據。
接著閱讀
左右滑動查看更多推薦
下一步:先完成一個 seed 的交付包
今天先選一張有使用權的角色圖,生成候選,留下輸入處理畫面;再挑一個 seed,完成 GLB、UV、轉頭與目標軟體四段檢查。回到開頭那句話:可交付頭髮=分片幾何+骨鏈綁定+目標軟體驗收。 你要帶走的是能繼續修改的資產,以及能說明它為何合格的紀錄。
想繼續整理自己的創作流程,可從 AlphaLab AI 專區尋找下一個工具,或到 AlphaLab 課程循序建立研究、創作與驗收習慣。






