2026 秋 · 发自宁静基地
走进月球工作室 ↗
terryl.in月面通讯 — 一个人在月球工作室的开发笔记
游戏开发

Tripo AI 模型怎么检查?用 Claude 写 Blender 脚本验收骨骼与动画

用 AI 做游戏,52 个 Boss 用 Tripo AI 生成 3D 模型,进 Blender 绑骨骼、做动画后怎么确认没破?让 Claude 写 Blender Python 脚本逐帧检查骨骼、动画与贴图。

Tripo AI 模型验收示意:宇航员拿着放大镜检查站在转盘上的蘑菇 Boss,橙色扫描光环绕着它全身
Tripo AI 模型验收示意:宇航员拿着放大镜检查站在转盘上的蘑菇 Boss,橙色扫描光环绕着它全身

我正在用 AI 做游戏。上一篇实测 AI 3D建模,用 Tripo AI(也常被叫做 Tripo 3D)把石像怪的概念图转成 3D 模型,再用 Blender 脚本减面、绑骨骼、做动作。那次只做了一只,后来我把正在设计的 RPG 里每一章的 Boss 都照同样的流程做了一遍,一口气 52 只。

做完才发现真正的难题在后面:每一只站着不动的时候都很好看,可是一挥武器、一个重击,肩膀就被拉出一条长长的色带,拳头转过头露出切口,原本的花纹也被抹成一块块色块。52 只 Boss、每只五六个动作、每个动作几十帧,靠肉眼在 Blender 里一帧一帧翻动画,根本看不完。

所以我和 Claude Opus 一起做了一套“Boss 验收流程”:先让程序逐帧量出 Tripo AI 模型绑上骨骼之后哪里破了,再把最糟的那一帧渲染成图给我看。这篇用第 8 章的 Boss“孢子斥候”当示范,从头走一遍。

示范 Boss:孢子斥候

孢子斥候是一只 2.4 米高的细长蘑菇:尖尖的橙色菌盖上有三个黄色眼斑,菌盖下是一张眯眼坏笑的脸,披着苔绿色短斗篷,背着木雕望远镜,右手拿着挂小灯的弯头手杖。

设计稿:Claude 照剧情设计,Codex 出图

我让 Claude 读每一章的剧情,设计出符合那一关情境的 Boss,再由它自动写好提示词,交给 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:看设计合不合剧情、图对不对味,不对就让它改。

这些提示词都存成文件,放在后面会提到的预览页上,每只 Boss 的卡片都有一个“prompt”链接,随时可以回头看当初要的是什么。

它很适合拿来示范,因为该有的麻烦它都有:

  • 细长的四肢:手脚一弯,细的地方最容易被拉破。
  • 手杖:武器要握在手里、跟着拳头转,不能穿过身体。
  • 大菌盖:菌盖和细细的茎连在一起,头一歪,接缝就可能裂开。
  • 很多小细节:眼斑、绑腿上的 X 缝线、皮带扣环,最容易在减面和上色时丢掉。

第一关:把 GLB 文件和设计稿并排看

左边是孢子斥候的设计稿,右边是游戏里的 3D 模型,下方可以切换动作
我的 3D 对照页:左边设计稿,右边是游戏里实际用的 GLB,可以切换动作、拖动旋转。

第一关最简单,也最常被跳过:把设计稿和做好的模型放在一起看。

我让 Claude Opus 做了一个网页版的对照页(用 three.js 读取 GLB 文件),左边是丢给 Tripo 的设计稿,右边是游戏里实际加载的 3D 模型。下拉菜单可以切换待机、走路、攻击、重击、受击、倒地,鼠标可以转着看。52 只 Boss 都在同一页,点一下就打开,不用每次都开 Blender。

这一关看的是大方向:

  • 剪影:比例、高度、菌盖的形状对不对。
  • 配件:斗篷、皮带、背上的望远镜、手杖上的小灯都在不在。
  • 武器:手杖有没有握在手里,挥动时有没有穿过身体。
  • 发光:眼睛和小灯还亮不亮。

第二关:Blender 骨骼与动画,每个角度、每个动作的关键帧

孢子斥候的总览图:上方是设计稿,接着是正面、侧面、背面、斜前方与两张权重图,下面是走路、攻击、重击、受击、倒地的关键帧
每只 Boss 一张总览:四个角度、两张权重图,加上每个动作最用力的那几帧。

对照页适合看“看起来对不对”,但动作中途的问题常常一闪而过。所以 Blender 脚本每次重建模型,都会顺便渲染一张总览图:

  • 四个角度:正面、侧面、背面、斜前方,确认背后和侧面也是完整的。
  • Blender 权重图:每根骨骼一个颜色,看每一块网格是被哪根骨骼带着动。颜色的交界要落在关节上;如果手臂的颜色吃到胸口,抬手时胸口就会被一起拉走。
  • 关键帧:每个动作挑几帧最用力的,比如攻击往前一指、重击把手杖举到头侧画圈、倒地时菌盖撞地。

一张图就能看完一只 Boss 的全部动作,比在 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 贴图,细节非常多。但我第一版的流程为了让模型轻一点,把整只 Boss 的颜色整理成 8 种色块,结果菌盖的眼斑只剩一团黄、绑腿的 X 缝线不见了、皮带扣环糊成一片。

第二版改成“全身贴图”:减面后的模型在 Blender 里重新展开 UV,每个像素回到 Tripo 的原始模型上找最近的点取色,等于把 4K 贴图的细节烘焙回来。上图上排是旧版的色块,下排是新版,眼斑的黑瞳孔、绑腿上的缝线、斗篷上的扣环都回来了,跟最左边的设计稿几乎一样。

代价是每只 Boss 的文件多了 0.2 到 0.5 MB。孢子斥候从 1.19 MB 变成 1.56 MB,在手机上还是很轻。

Blender 绑骨骼常见的问题和修法

52 只跑完一轮检查,问题其实就那几种:

问题

看起来像

修法

关节的过渡太窄

一转手臂,肩膀就被扯出一条色带

让骨骼权重在关节附近慢慢过渡,多加一根“分担骨”分摊旋转

固定范围框太宽

头盔、背上的旗杆一动,框的边缘就裂开

把框收窄,边缘留一点渐变

腋下算到腰上

抬手时腋下被腰拉住

把腰部过渡的中心往下移

拳头切口露出来

拳头转过头,看得到切开的断面

在关节塞一颗关节球

抬手后露出残片

手臂原本盖住的身体碎片跑出来

绑骨骼后删掉手臂底下的残片

细节被色块抹掉

花纹、缝线、铆钉不见

改用全身贴图

修的顺序也很重要:先调便宜的(框的大小、过渡宽度),再调贵的(改动作幅度、重新切部件)。有些改法看起来合理,实际上会更糟,比如把更多部件框成固定不动,反而多出一圈硬边,撕裂从 4 条变成 17 到 51 条。所以每改一次都要重跑检查,用数字说话。

这轮修完之后,52 只 Boss 全部过门槛:30 只完全没有撕裂,其他 22 只只剩 1 到 3 条,在游戏镜头下看不出来。

Tripo AI 生成之前就能避免的问题

很多问题其实在丢进 Tripo 之前就能避开。我把这几条规则交代给 Claude,它写提示词给 Codex 出设计稿时,一定会写清楚:

  • 正面站姿:人形用 A 字站姿、双脚平放;四脚站在地上的怪物用正面,最多偏 15 度。只有悬空的水生类用 3/4 角度。
  • 武器不挡身体:手杖、戒尺这类长武器立在身侧,不要横在胸前,不然 Tripo 会把武器和身体粘成一块,之后很难切开。
  • 飘的东西改成实心:飘散的烟、毛发,Tripo 会做成一坨实心的块。我会改成贴在身上的短卷烟,真正的烟交给游戏特效。
  • 花纹不能像字:扣环、徽章、刻纹不能长得像字母或数字,AI 生成的假字放大看会很突兀。
  • 一张图只放一只:整张设定图丢进去,Tripo 会把三只做成同一个模型(上一篇踩过)。

我的 Boss 验收流程

从 Tripo 生成到放进游戏,每只 Boss 都走一样的五关。
从 Tripo 生成到放进游戏,每只 Boss 都走一样的五关。

最后整理成一张清单,每只 Boss 上线前都照着勾:

  • 跟设计稿比:剪影、配件、武器都在,武器握在手里、不穿过身体。
  • 待机、走路的每一帧都没有撕裂(一直在播,最容易被看到)。
  • 攻击、重击每一帧撕裂边 8 条以内,目标 0 到 3 条。
  • 重击最用力那一帧:肩膀、腋下、手肘、手腕、脖子没有被拉长的色带或尖片。
  • 抬手后腰侧没有露出碎片,也没有浮在空中的小块。
  • 背面剔除下没有破洞,特别看背面、仰视和特写。
  • 贴图:花纹、缝线、铆钉看得到,颜色和设计稿同一个色调。
  • 眼睛、灯这些发光的部位还在发光。

结语:让 AI 量,让人看

用 Tripo AI 生成 3D 模型很快,一只 Boss 几分钟就好了;真正花时间的是后面“确认它绑上骨骼、放进 Godot 的 3D 场景里不会破”。我的做法是分工:能量化的交给程序逐帧量,量不到的渲染成图给人看。Claude 写的 Blender 脚本负责把 52 只、几千帧缩成每只一张最糟的图,我只要花几秒钟看那张图就好。对我来说,Blender 搭配 AI 最好用的地方不是捏造型,而是这种重复又要精准的检查。

如果你也在用 AI 生成 3D 模型做游戏,卡在绑骨骼或动作这一步,欢迎到 Threads 或 X 找我的帖子直接留言聊聊。