Live2D 學習筆記:從分層到能動起來

· 約 8 分鐘 · #Live2D#創作#技術筆記

Live2D 最容易被誤解的地方,是它看起來像「把圖丟進 Cubism,調幾個參數,角色就會動」。

實際做下去之後,我學到的第一件事完全相反:Live2D 是一條驗證鏈。 圖層決定 Cubism 能不能理解素材,變形器決定動作會不會牽錯地方,參數決定動作能不能被控制,runtime 測試決定模型能不能真的離開編輯器。

小秋 Live2D 基準角色圖

起點是一張看起來完整的角色圖。但對 Live2D 來說,真正重要的是它能被拆成哪些可控的層。

01
素材
02
分層
03
結構
04
動作
05
驗證

這篇不是完整教學,也不是把工程紀錄公開貼出來。它是我目前整理出的學習地圖:哪些地方要先想清楚,哪些地方可以小步驗證,哪些細節不該急著自動化。

更完整的長期分類頁放在 Live2D Lab。這篇保留成一次性的整理與敘事版本,分類頁會承接後續案例和 roadmap。

如果要把它當教學讀,可以照這個順序練一次:先準備一張簡單角色或小素材,列出圖層責任,做一輪 PSD preflight,再進 Cubism 只驗證 texture atlas 和一個最小動作。不要一開始就追求完整模型,先證明「素材能被控制」比較重要。

1. PSD 是地基

Live2D 的 PSD 不是一般插畫檔。它比較像一份角色零件表:每一層都應該說得出用途、遮擋關係、可動範圍,以及它在極端姿勢時會不會露出破口。

我現在把分層分成四種責任:

  • Base / Under:負責在移動後不露空。
  • Cover:負責壓住接縫,讓前後層關係穩定。
  • AO / Soft Shadow:負責體積感,不讓零件像紙片分離。
  • Control Layer:眼、嘴、髮束、袖口這類會直接掛參數或 physics 的部位。
小秋 Live2D 分層後的整體預覽

分層不是把圖切碎,而是讓每個部位有自己的責任。眼、嘴、手、衣服與髮都要能被單獨檢查。

這裡最有用的判斷不是「層數越多越好」,而是「每一層是否能獨立通過極端姿勢想像」。如果一個陰影只能畫死在主圖上,它在頭轉、低頭或呼吸時很可能會變成破綻。

2. 接縫不是小問題

我花了不少時間在脖子、衣領、髮線、袖口這些地方。原因很簡單:這些位置是兩個不同物件相互遮擋的邊界,角色一動,邊界就會出賣你。

脖子與衣領接縫補層預覽

脖子與衣領需要 under fill、AO、soft shadow 分工,不能只靠原圖上的陰影。

袖口接縫與內側補層預覽

袖口內側要有遮片與內陰影,否則手臂或袖子一偏移就會露出硬邊。

現在的規則是:先補「不露空」,再補「看起來有體積」。這個順序很重要。漂亮的陰影不能代替結構安全,反過來也一樣,只有補色沒有光影,動起來會很平。

3. Cubism 看到的是結構

匯入 Cubism 之後,我不會先急著做表情或 physics。第一輪檢查只看三件事:

  • 圖層是否成為預期的 ArtMesh。
  • 每個物件的範圍是否合理,沒有莫名其妙的全畫布 bbox。
  • 物件能不能被放進正確的 deformer hierarchy。

這一步像是在檢查骨架。角色還不用會動,但它必須能被合理地抓住。

4. Deformer 是骨架,不是裝飾

Deformer hierarchy 的重點不是名稱漂亮,而是責任清楚。頭部轉動不該把袖口一起拉走,呼吸不該改變髮線,眼睛的 keyform 不該影響嘴巴。

我現在會用這種層級思考:

Root
WRP_Body:呼吸、身體傾斜、衣服大範圍跟隨
WRP_Head:頭部 XY、臉、五官與脖子關係
WRP_Hair:前髮、側髮、後髮與 physics
WRP_Seam:接縫遮片、陰影、補色層的小幅跟隨

這種結構不需要一開始就完美,但每一層都要能回答一個問題:它負責保護哪個動作?

5. 參數與 keyform 要小步驗證

我以前會想一次做完整表情、完整頭部角度、完整 physics。現在比較保守:一次只做一個 smoke test。

例如 blink,就只驗證眼白、虹膜、眼皮、睫毛是否能在 ParamEyeLOpenParamEyeROpen 下收合。頭部 XY,就只驗證臉、脖子、髮線在三個 keyform 裡有沒有明顯破口。呼吸,就只看衣服、胸口陰影、身體輪廓能不能一起做小幅變化。

驗收條件也很具體:

  • 中間 pose 不應比極端 pose 更破。
  • 預設 pose 不能被意外改掉。
  • 每次只存一個可回退的 checkpoint。
  • 看得出非零變化,但變化不能大到像液化失控。

6. 透明容器史萊姆:先做更小的練習

角色模型太複雜,所以我另外做了透明容器史萊姆作為小型練習。它的價值不是可愛,是結構清楚:外殼、內容物、泡泡、臉、前景高光可以分開理解。

透明容器史萊姆的分層圖

這種小素材適合練習 full-canvas layer、bbox 檢查、遮罩、以及內容物晃動群組。

史萊姆的規劃很單純:容器外壁與臉保持相對穩定,內容物、液面、泡泡集中到同一個 slosh deformer。先確認素材結構可靠,再決定要不要進 Cubism 做正式 rig。

透明容器史萊姆中立、左晃、右晃三格預覽

三格預覽可以先驗證「哪些層該一起動」。這比直接進大型角色模型便宜很多。

7. Runtime QA 是最後一道門

Cubism 裡看起來正常,不代表模型能在 viewer 或 VTube Studio 裡正常。這是我目前最重視的邊界。

一個可交付的 Live2D package 至少要能通過:

  • model3.json 能正確指到 moc、texture、physics。
  • texture atlas 有內容,不是空白或遺失。
  • viewer 裡能看見模型,而不是只在 Cubism 裡可見。
  • blink、mouth、angle、breath、physics 都能在 runtime 端被觸發。
  • 極端 pose 不露空、不閃爍、不把遮片拉到錯誤位置。

所以我的結論是:Cubism 是製作環境,runtime 才是交付環境。 前者通過只能說「可能有效」,後者通過才算「真的能用」。

8. 完整學習規劃

接下來的路線我會拆成四個階段。

Phase 1
素材與分層
建立 PSD preflight:命名、bbox、透明區、接縫補層、hidden fill。
Phase 2
Cubism 結構
匯入後只檢查 ArtMesh、deformer hierarchy、texture atlas,不急著做大動作。
Phase 3
動作 smoke test
blink、mouth、Angle X/Y/Z、breath、hair physics 一次只做一項。
Phase 4
Runtime QA
輸出 package,在 viewer 端跑參數矩陣與極端 pose 檢查。

每個階段都要留下兩種紀錄:一種是人看得懂的截圖與說明,一種是機器能檢查的檔案結構或測試結果。只留下「我覺得有動」是不夠的。

9. 公開資料的邊界

學 Live2D 會碰到很多公開模型、教學縮圖、官方 sample、SDK、商用展示。它們都有價值,但用途不同。

  • 官方文件與 sample:適合確認概念、檔案格式、SDK 行為。
  • 公開教學:適合學工作流與術語,但不能把未授權內容重建成自己的教材。
  • 第三方模型:適合做觀察,不適合公開拆解或再散布。
  • 自有素材:適合完整記錄、完整公開、完整迭代。

所以這篇只放自有素材與高層知識。那些很細的內部探針、工具自動化、私有路徑、未公開工程樹,就留在工作筆記裡。能公開的東西應該是方法,而不是把工作台整個搬到陽光下。

目前結論

我現在對 Live2D 的理解很樸素:

先讓素材有結構,再讓結構能動,最後證明它在離開編輯器後仍然成立。

這句話聽起來慢,但它省下來的時間通常在後面:少一點巨大重做,少一點不知道哪裡壞掉的模型,少一點「在 Cubism 可以,出去就空白」的夜晚。

相關文章

← 回到文字