2026 秋 · 發自寧靜基地
走進月球工作室 ↗
terryl.in月面通訊 — 一個人在月球工作室的開發筆記
遊戲開發

Tripo AI 模型怎麼檢查?用 Claude 寫 Blender 腳本,逐格驗收 RPG 頭目的骨架、動畫與貼圖

用 AI 做遊戲,把 RPG 的 52 隻頭目用 Tripo AI 生成 3D 模型,進 Blender 綁骨架、做動畫後怎麼確認沒破?以孢子斥候為例,請 Claude 寫 Blender Python 腳本逐格稽核,五關驗收骨架、動畫與貼圖。

Tripo AI 模型驗收示意:太空人拿著放大鏡檢查站在轉盤上的蘑菇頭目,橘色掃描光環繞著它的全身
Tripo AI 模型驗收示意:太空人拿著放大鏡檢查站在轉盤上的蘑菇頭目,橘色掃描光環繞著它的全身

我正在用 AI 做遊戲。上一篇實測 AI 3D 建模,用 Tripo AI(也常被叫做 Tripo 3D)把石像怪的概念圖轉成 3D 模型,再用 Blender 腳本減面、綁骨架、做動作。那次只做了一隻,後來我把正在設計的 RPG 裡每一章的頭目都照同樣的流程做了一遍,一口氣 52 隻。

做完才發現真正的難題在後面:每一隻站著不動的時候都很好看,可是一揮武器、一個重擊,肩膀就被拉出一條長長的色帶,拳頭轉過頭露出切口,原本的花紋也被抹成一塊塊色塊。52 隻頭目、每隻五六個動作、每個動作幾十格,靠肉眼一格一格在 Blender 裡翻動畫,根本看不完。

所以我和 Claude Opus 一起做了一套「頭目驗收流程」:先讓程式逐格量出 Tripo AI 模型綁上骨架之後哪裡破了,再把最糟的那一格拍成圖給我看。這篇用第 8 章的頭目「孢子斥候」當示範,從頭走一遍。

示範頭目:孢子斥候

孢子斥候是一隻 2.4 公尺高的細長蘑菇:尖尖的橘色傘蓋上有三個黃色眼斑,傘下是一張瞇眼壞笑的臉,披著苔綠色短斗篷,背著木雕望遠鏡,右手拿著掛小燈的彎頭手杖。

設計稿:Claude 照劇情設計,Codex 出圖

我請 Claude 讀每一章的劇情,設計出符合那一關情境的頭目,再由它自動寫好提示詞,交給 Codex CLI 呼叫 gpt-image 出圖,並附上一張遊戲現有角色當風格參考。孢子斥候出現在森林那一章,帶著一群蕈傘兵,所以 Claude 把它設計成一隻細長的蘑菇斥候,傘蓋上的眼斑像在監視四周。它自動寫出來的提示詞是這段:

Character: SPORE SCOUT (孢子斥候), a 2.4 m forest boss: a tall thin long-legged mushroom scout that leads mushroom soldiers; eye-spots on its cap.
A tall lanky chunky KayKit-style mushroom: a tall narrow conical cap in rusty orange with three big painted eye-spot markings (rings of yellow around black dots), a long thin pale stem body with a sly face (two small glowing yellow eyes and a narrow grin), long thin arms and long stilt-like legs ending in flat root feet. Gear: a scout's short hooded cloak in moss green over the shoulders, a leather bandolier strap with buckles, a spyglass of carved wood strapped on the back, wrapped leather cloth bands on the shins, holding a long thin walking stick with a small glowing spore bulb in one hand down at its side.

Claude 寫的提示詞都分成三層:先一句話交代角色是誰、多高、在劇情裡做什麼;再寫外型(傘蓋、身體、臉、手腳);最後列裝備(斗篷、皮帶、望遠鏡、綁腿、手杖)。寫得越具體,Codex 出的圖越少需要重來,之後拿去對照模型時也有一份清單可以逐項檢查。

整個過程我自己動手的地方很少,大部分時間只是在 review:看設計合不合劇情、圖對不對味,不對就請它改。

這些提示詞都存成檔案,放在後面會提到的預覽頁上,每隻頭目的卡片都有一個「prompt」連結,隨時可以回頭看當初要的是什麼。

它很適合拿來示範,因為該有的麻煩它都有:

  • 細長的四肢:手腳一彎,細的地方最容易被拉破。
  • 手杖:武器要握在手裡、跟著拳頭轉,不能穿過身體。
  • 大傘蓋:傘蓋和細細的莖連在一起,頭一歪,接縫就可能裂開。
  • 很多小細節:眼斑、綁腿上的 X 縫線、皮帶扣環,最容易在減面和上色時不見。

第一關:把 GLB 檔和設計稿並排看

左邊是孢子斥候的設計稿,右邊是遊戲裡的 3D 模型,下方可以切換動作
我的 3D 對照頁:左邊設計稿,右邊是遊戲裡實際用的 GLB,可以切動作、拖曳旋轉。

第一關最簡單,也最常被跳過:把設計稿和做好的模型放在一起看。

我請 Claude Opus 做了一個網頁版的對照頁(用 three.js 讀 GLB 檔),左邊是丟給 Tripo 的設計稿,右邊是遊戲裡實際載入的 3D 模型。下拉選單可以切換待機、走路、攻擊、重擊、受擊、倒下,滑鼠可以轉著看。52 隻頭目都在同一頁,點一下就打開,不用每次都開 Blender。

這一關看的是大方向:

  • 剪影:比例、高度、傘蓋的形狀對不對。
  • 配件:斗篷、皮帶、背上的望遠鏡、手杖上的小燈都在不在。
  • 武器:手杖有沒有握在手裡,揮動時有沒有穿過身體。
  • 發光:眼睛和小燈還亮不亮。

第二關:Blender 骨架與動畫,每個角度、每個動作的關鍵格

孢子斥候的總覽圖:上方是設計稿,接著是正面、側面、背面、斜前與兩張權重圖,下面是走路、攻擊、重擊、受擊、倒下的關鍵格
每隻頭目一張總覽:四個角度、兩張權重圖,加上每個動作最用力的那幾格。

對照頁適合「看起來對不對」,但動作中途的問題常常一閃而過。所以 Blender 腳本每次重建模型,都會順便算繪一張總覽圖:

  • 四個角度:正面、側面、背面、斜前,確認背後和側面也是完整的。
  • Blender 權重圖:每根骨頭一個顏色,看每一塊網格是被哪根骨頭帶著動。顏色的交界要落在關節上;如果手臂的顏色吃到胸口,舉手時胸口就會被一起拉走。
  • 關鍵格:每個動作挑幾格最用力的,像是攻擊往前一指、重擊把手杖舉到頭側畫圈、倒地時傘蓋撞地。

一張圖就能看完一隻頭目的全部動作,比在 Blender 時間軸上拖來拖去快很多。

第三關:讓 Claude 寫 Blender Python 腳本,逐格量出哪裡破了

孢子斥候在重擊和攻擊最糟那一格的稽核圖:正面、3/4、側面、後斜、最糟處特寫和熱圖
稽核圖:程式找出重擊(上)和攻擊(下)最糟的那一格,從五個角度拍下來,最右邊是熱圖。

看圖還是會漏,所以第三關交給程式。我直接請 Claude 進行修正,它自動寫了一支 Blender Python 稽核腳本,打開模型後把每個動作的每一格都跑一次,和靜止的姿勢比對,量出這幾種問題:

量什麼

代表什麼問題

撕裂邊

某條邊被拉長好幾倍,畫面上就是一條被扯長的色帶或尖片

捏扁

某塊面被擠到幾乎沒有面積,關節內側常見

翻面

面翻到背面,遊戲裡會看到破洞

接縫拉開

切開的零件(拳頭、武器)和身體之間的縫被拉大

骨頭轉角

某根骨頭轉超過 110 度,通常就是動作做太誇張

量完之後,腳本挑出最糟的那一格,從正面、3/4、側面、後斜四個角度和最糟處特寫拍下來,最後一張是熱圖:越紅的地方被拉得越嚴重。我只要看這一張,就知道問題出在肩膀、手腕還是傘蓋下面。

另外還有一道門檻:攻擊和重擊每一格的撕裂邊超過 8 條、捏扁超過 30 面,或是有沒被骨頭帶到的頂點、離開身體的浮空碎片,腳本就不匯出 GLB。壞掉的模型根本進不了遊戲,不用等到玩的時候才發現。

孢子斥候第一次稽核的結果:

  • 拳頭:揮手杖時拳頭轉了 150 到 180 度,切開的拳頭和手臂之間露出切口。
  • 倒地:倒下時傘蓋歪得太多,傘下細莖那一圈被拉開,撕裂邊 6 條。

修法是在拳頭的關節塞一顆「關節球」,轉過頭時切口看到的是球,像可動玩具的關節;倒地時傘蓋歪的幅度減半。修完之後:攻擊 0 條、重擊 1 條、倒地 0 條,待機、走路、受擊都是 0,順利過門檻。

第四關:背面剔除,從背後和特寫找破洞

孢子斥候的背面剔除檢查圖:正面、側面、背面、俯視後、仰視、臉部特寫、各個攻擊格與拳頭特寫
遊戲只畫網格的正面,所以要從背後、上下和特寫確認沒有破洞。

遊戲為了效能,只會畫網格朝外的那一面。在 Blender 裡看起來完整的模型,進遊戲後可能從某個角度看過去是空的。

所以另外一張圖開著「背面剔除」,用遊戲的方式算繪:正面、側面、背面、俯視、仰視,加上臉部和拳頭的特寫。仰視那張特別重要,因為傘蓋底下的皺褶和細莖的接縫,平常鏡頭很少拍到,一旦有洞就會在某個過場鏡頭突然穿幫。

第五關:貼圖烘焙,Tripo 的 4K 貼圖有沒有跟設計稿一樣

上排是舊版的 8 色色塊,下排是新版的全身貼圖,左邊是設計稿
上:舊版只有 8 種色塊。下:新版把 Tripo 的原始貼圖烘回全身,眼斑、縫線、扣環都回來了。

前四關都在看「形狀」,最後一關看「顏色」。

Tripo AI 生成的模型附有 4K 貼圖,細節非常多。但我第一版的流程為了讓模型輕一點,把整隻頭目的顏色整理成 8 種色塊,結果傘蓋的眼斑只剩一團黃、綁腿的 X 縫線不見了、皮帶扣環糊成一片。

第二版改成「全身貼圖」:減面後的模型在 Blender 裡重新展開 UV,每個像素回到 Tripo 的原始模型上找最近的點取色,等於把 4K 貼圖的細節烘焙回來。上圖上排是舊版的色塊,下排是新版,眼斑的黑瞳孔、綁腿上的縫線、斗篷上的扣環都回來了,跟最左邊的設計稿幾乎一樣。

代價是每隻頭目的檔案多了 0.2 到 0.5 MB。孢子斥候從 1.19 MB 變成 1.56 MB,在手機上還是很輕。

Blender 綁骨架常見的問題和修法

52 隻跑完一輪稽核,問題其實就那幾種:

問題

看起來像

修法

關節的過渡太窄

一轉手臂,肩膀就被扯出一條色帶

讓骨架權重在關節附近慢慢過渡,多分一根「分攤骨」分擔旋轉

固定範圍框太寬

頭盔、背上的旗桿一動,框的邊緣就裂開

把框收窄,邊緣留一點漸變

腋下算到腰上

舉手時腋下被腰拉住

把腰部過渡的中心往下移

拳頭切口露出來

拳頭轉過頭,看得到切開的斷面

在關節塞一顆關節球

舉手後露出殘片

手臂原本蓋住的身體碎片跑出來

綁骨後刪掉手臂底下的殘片

細節被色塊抹掉

花紋、縫線、鉚釘不見

改用全身貼圖

修的順序也很重要:先調便宜的(框的大小、過渡寬度),再調貴的(改動作幅度、重切零件)。有些改法看起來合理,實際上會更糟,例如把更多零件框成固定不動,反而多出一圈硬邊,撕裂從 4 條變成 17 到 51 條。所以每改一次都要重跑稽核,用數字說話。

這輪修完之後,52 隻頭目全部過門檻:30 隻完全沒有撕裂,其他 22 隻只剩 1 到 3 條,在遊戲鏡頭下看不出來。

Tripo AI 生成之前就能避免的問題

很多問題其實在丟進 Tripo 之前就能避開。我把這幾條規則交代給 Claude,它寫提示詞給 Codex 出設計稿時,一定會寫清楚:

  • 正面站姿:人形用 A 字站姿、雙腳平放;四腳站在地上的魔物用正面,最多偏 15 度。只有懸空的水生類用 3/4 角度。
  • 武器不擋身體:手杖、量尺這類長武器立在身側,不要橫在胸前,不然 Tripo 會把武器和身體黏成一塊,之後很難切開。
  • 飄的東西改成實心:飄散的煙、毛髮,Tripo 會做成一坨實心的塊。我會改成貼在身上的短捲煙,真正的煙交給遊戲特效。
  • 花紋不能像字:扣環、徽章、刻紋不能長得像字母或數字,AI 生成的假字放大看會很突兀。
  • 一張圖只放一隻:整張設定圖丟進去,Tripo 會把三隻做成同一個模型(上一篇踩過)。

我的頭目驗收流程

從 Tripo 生成到放進遊戲,每隻頭目都走一樣的五關。
從 Tripo 生成到放進遊戲,每隻頭目都走一樣的五關。

最後整理成一張清單,每隻頭目上線前都照著勾:

  • 跟設計稿比:剪影、配件、武器都在,武器握在手裡、不穿過身體。
  • 待機、走路的每一格都沒有撕裂(一直在播,最容易被看到)。
  • 攻擊、重擊每一格撕裂邊 8 條以內,目標 0 到 3 條。
  • 重擊最用力那一格:肩膀、腋下、手肘、手腕、脖子沒有被拉長的色帶或尖片。
  • 舉手後腰側沒有露出碎片,也沒有浮在空中的小塊。
  • 背面剔除下沒有破洞,特別看背面、仰視和特寫。
  • 貼圖:花紋、縫線、鉚釘看得到,顏色和設計稿同一個色調。
  • 眼睛、燈這些發光的部位還在發光。

結語:讓 AI 量,讓人看

用 Tripo AI 生成 3D 模型很快,一隻頭目幾分鐘就好了;真正花時間的是後面「確認它綁上骨架、放進 Godot 的 3D 場景裡不會破」。我的做法是分工:能量化的交給程式逐格量,量不到的拍成圖給人看。Claude 寫的 Blender 腳本負責把 52 隻、幾千格縮成每隻一張最糟的圖,我只要花幾秒鐘看那張圖就好。對我來說,Blender 搭配 AI 最好用的地方不是捏造型,而是這種重複又要精準的檢查。

如果你也在用 AI 生成 3D 模型做遊戲,卡在綁骨架或動作這一步,歡迎到 Threads 或 X 找我貼文直接留言聊聊。