Tripo AI: как проверить модель? Риггинг и анимация в Blender с Claude
Делаю игру с ИИ: 52 босса RPG из Tripo AI, риггинг и анимация в Blender. Claude пишет Python-скрипт, который покадрово проверяет кости, анимации и текстуры.

Я делаю игру с помощью ИИ. В прошлой статье я тестировал 3D-моделирование с нейросетью: превратил концепт-арт монстра-статуи в 3D-модель через Tripo AI (его ещё часто называют Tripo 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 приходится перерисовывать, а потом, при сверке с моделью, у меня есть готовый список для проверки по пунктам.
Своими руками я здесь почти ничего не делал. Большую часть времени я просто проверял: подходит ли дизайн к сюжету, то ли настроение у картинки, и если нет — просил переделать.
Все промпты сохранены в файлы и лежат на странице предпросмотра, о которой речь пойдёт ниже. У каждого босса на карточке есть ссылка «prompt», так что всегда можно вернуться и посмотреть, что изначально хотелось получить.
Для примера он подходит идеально, потому что у него есть все типичные проблемы:
- Тонкие руки и ноги: при сгибе тонкие места рвутся первыми.
- Посох: оружие должно лежать в руке, поворачиваться вместе с кулаком и не проходить сквозь тело.
- Большая шляпка: шляпка соединена с тонкой ножкой, и стоит голове наклониться, шов может разойтись.
- Много мелких деталей: «глазки», X-образные стежки на обмотках, пряжки ремня — всё это легче всего теряется при снижении полигонажа и окраске.
Этап 1: GLB рядом с концепт-артом

Первый этап самый простой, и его чаще всего пропускают: поставить концепт-арт и готовую модель рядом.
Я попросил Claude Opus сделать веб-страницу для сравнения (GLB читается через three.js): слева концепт-арт, который ушёл в Tripo, справа 3D-модель, которую загружает игра. В выпадающем списке можно переключать стойку, ходьбу, атаку, сильную атаку, получение урона и смерть, а мышкой — вращать модель. Все 52 босса на одной странице, открываются в один клик, и Blender каждый раз запускать не нужно.
Здесь смотрю на общую картину:
- Силуэт: пропорции, рост, форма шляпки.
- Аксессуары: плащ, ремень, подзорная труба на спине, фонарик на посохе — всё ли на месте.
- Оружие: лежит ли посох в руке, не проходит ли сквозь тело при взмахе.
- Свечение: светятся ли ещё глаза и фонарик.
Этап 2: кости и анимации в Blender — ключевые кадры с каждого ракурса

Страница сравнения хороша для вопроса «похоже или нет», но проблемы посреди анимации часто мелькают и исчезают. Поэтому при каждой пересборке модели Blender-скрипт заодно рендерит обзорный лист:
- Четыре ракурса: спереди, сбоку, сзади, три четверти — чтобы спина и бока тоже были целыми.
- Карта весов в Blender: каждая кость своим цветом, видно, какая кость тянет каждый участок сетки. Границы цветов должны проходить по суставам. Если цвет руки залезает на грудь, при подъёме руки грудь потянется вместе с ней.
- Ключевые кадры: для каждой анимации несколько самых напряжённых кадров — выпад вперёд в атаке, круг посохом у головы в сильной атаке, удар шляпки о землю при смерти.
Одна картинка — и видны все анимации босса. Это намного быстрее, чем таскать ползунок по таймлайну Blender.
Этап 3: Claude пишет Python-скрипт для Blender и покадрово ищет поломки

По картинкам всё равно что-то пропускаешь, поэтому третий этап я отдал программе. Я просто попросил Claude всё исправить, и он сам написал на Blender Python скрипт проверки. Скрипт открывает модель, прогоняет каждый кадр каждой анимации, сравнивает с позой покоя и измеряет такие проблемы:
Что измеряем | Какая это проблема |
|---|---|
Разорванные рёбра | Ребро растянуто в несколько раз — на экране это вытянутая цветная полоса или острый осколок |
Сплющивание | Грань сжата почти до нулевой площади, часто бывает на внутренней стороне суставов |
Вывернутые грани | Грань повернулась изнанкой, в игре видна дыра |
Расхождение швов | Растёт щель между отрезанной деталью (кулак, оружие) и телом |
Угол поворота кости | Кость повернулась больше чем на 110 градусов — обычно анимация слишком утрирована |
После замеров скрипт выбирает самый плохой кадр и снимает его с четырёх ракурсов — спереди, три четверти, сбоку, сзади-сбоку — плюс крупный план худшего места. Последний снимок — тепловая карта: чем краснее, тем сильнее растянуто. Мне достаточно посмотреть на одну эту картинку, чтобы понять, где проблема: в плече, в запястье или под шляпкой.
Есть ещё порог: если в каком-то кадре атаки или сильной атаки больше 8 разорванных рёбер или больше 30 сплющенных граней, или есть вершины без кости, или отлетевшие от тела висящие куски, скрипт не экспортирует GLB. Сломанная модель просто не попадёт в игру, и не придётся ждать, пока это всплывёт во время игры.
Первая проверка Спорового разведчика показала:
- Кулак: при взмахе посохом кулак поворачивался на 150–180 градусов, и между отрезанным кулаком и рукой был виден срез.
- Смерть: при падении шляпка наклонялась слишком сильно, кольцо тонкой ножки под ней расходилось — 6 разорванных рёбер.
Исправил так: в сустав кулака вставил «шаровой шарнир», и при перекруте в срезе виден шар, как у шарнирной фигурки; а наклон шляпки при падении уменьшил вдвое. После исправлений: атака — 0 рёбер, сильная атака — 1, смерть — 0, стойка, ходьба и получение урона — тоже 0. Порог пройден.
Этап 4: отсечение задних граней — ищем дыры сзади и на крупных планах

Ради производительности игра рисует только ту сторону сетки, которая смотрит наружу. Модель, целая в Blender, в игре под каким-то углом может оказаться пустой.
Поэтому есть отдельная картинка с включённым отсечением задних граней (backface culling), отрендеренная так, как это делает игра: спереди, сбоку, сзади, сверху, снизу, плюс крупные планы лица и кулака. Вид снизу особенно важен: складки под шляпкой и шов на тонкой ножке камера обычно почти не показывает, и если там дыра, она внезапно вылезет в какой-нибудь катсцене.
Этап 5: запекание текстур — совпадает ли 4K-текстура из Tripo с концепт-артом

Первые четыре этапа про форму, последний — про цвет.
Модели из Tripo AI идут с 4K-текстурами, деталей там очень много. Но в первой версии процесса я, чтобы облегчить модель, сводил цвета всего босса к 8 цветовым блокам. В итоге от «глазков» на шляпке осталось жёлтое пятно, X-образные стежки на обмотках исчезли, а пряжки ремня слились в кашу.
Во второй версии я перешёл на «текстуру на всё тело»: после снижения полигонажа модель заново разворачивается по UV в Blender, и каждый пиксель берёт цвет из ближайшей точки исходной модели из Tripo. По сути, детали 4K-текстуры запекаются обратно. На картинке выше сверху старые блоки, снизу новая версия: чёрные зрачки «глазков», стежки на обмотках, пряжки на плаще вернулись, и всё почти как на концепт-арте слева.
Цена — плюс 0,2–0,5 МБ на каждого босса. Споровый разведчик вырос с 1,19 МБ до 1,56 МБ, для телефона это всё ещё очень легко.
Частые проблемы риггинга в Blender и как их исправить
После полного прогона проверки по 52 боссам проблем оказалось всего несколько типов:
Проблема | Как выглядит | Как исправить |
|---|---|---|
Слишком резкий переход в суставе | Поворачиваешь руку — от плеча тянется цветная полоса | Сделать плавный переход весов около сустава и добавить «вспомогательную кость», которая берёт на себя часть поворота |
Слишком широкая зона жёсткой привязки | Шлем или древко флага на спине двигается — и край зоны рвётся | Сузить зону и оставить по краю небольшой градиент |
Подмышка привязана к талии | При подъёме руки талия тянет подмышку | Сдвинуть центр перехода на талии ниже |
Виден срез кулака | Кулак перекручивается — и видно сечение | Вставить в сустав шаровой шарнир |
После подъёма руки видны обрезки | Вылезают куски тела, которые прятались под рукой | После риггинга удалить обрезки под рукой |
Детали стёрты цветовыми блоками | Пропадают узоры, стежки, заклёпки | Перейти на текстуру на всё тело |
Порядок исправлений тоже важен: сначала дешёвое (размер зоны, ширина перехода), потом дорогое (амплитуда анимации, перерезка деталей). Некоторые правки выглядят логично, но делают только хуже. Например, если сделать жёсткими ещё больше деталей, появляется лишний кольцевой жёсткий край, и разрывов становится не 4, а от 17 до 51. Поэтому после каждой правки проверка прогоняется заново, и решают цифры.
После этого раунда все 52 босса прошли порог: у 30 разрывов нет вообще, у остальных 22 осталось от 1 до 3 — с игровой камеры их не видно.
Что можно предотвратить ещё до генерации в Tripo AI
Многих проблем можно избежать ещё до того, как картинка попадёт в Tripo. Я передал Claude эти правила, и когда он пишет промпт для концепт-арта в Codex, он обязательно их прописывает:
- Фронтальная поза: гуманоиды — в A-позе, ступни ровно на земле; четвероногие монстры на земле — спереди, отклонение максимум 15 градусов. Ракурс три четверти — только для парящих водных существ.
- Оружие не закрывает тело: длинное оружие вроде посоха или мерной линейки стоит сбоку, а не поперёк груди. Иначе Tripo склеит оружие с телом в один кусок, и потом его трудно отделить.
- Всё летучее — сплошное: дым и развевающиеся волосы Tripo превращает в сплошной ком. Я заменяю их короткими завитками дыма, прилегающими к телу, а настоящий дым отдаю игровым эффектам.
- Узоры не должны быть похожи на текст: пряжки, эмблемы и гравировка не должны напоминать буквы или цифры. Фальшивые буквы, которые рисует ИИ, вблизи смотрятся очень странно.
- Один персонаж на картинку: если загрузить весь лист с концептами, Tripo сделает из трёх персонажей одну модель (на этом я споткнулся в прошлый раз).
Мой процесс приёмки боссов

В итоге всё свелось к чек-листу, по которому я отмечаю каждого босса перед релизом:
- По сравнению с концепт-артом: силуэт, аксессуары и оружие на месте, оружие в руке и не проходит сквозь тело.
- Ни в одном кадре стойки и ходьбы нет разрывов (они крутятся постоянно, их видят чаще всего).
- В каждом кадре атаки и сильной атаки не больше 8 разорванных рёбер, цель — от 0 до 3.
- Самый напряжённый кадр сильной атаки: на плечах, подмышках, локтях, запястьях и шее нет растянутых полос и осколков.
- После подъёма руки на боку не торчат обрезки и нет висящих в воздухе кусочков.
- С отсечением задних граней нет дыр — особенно сзади, снизу и на крупных планах.
- Текстура: узоры, стежки, заклёпки видны, цвета в той же гамме, что и на концепт-арте.
- Глаза, фонари и прочие светящиеся части всё ещё светятся.
Итог: пусть ИИ измеряет, а человек смотрит
Сгенерировать 3D-модель в Tripo AI быстро — босс готов за несколько минут. Всё время уходит на то, что дальше: убедиться, что после риггинга он не развалится в 3D-сцене Godot. Мой подход — разделение труда: всё, что можно измерить, программа меряет покадрово, а то, что измерить нельзя, снимается в картинки для человека. Blender-скрипт, написанный Claude, сжимает 52 босса и тысячи кадров до одной картинки с худшим кадром на каждого, и мне хватает нескольких секунд, чтобы её просмотреть. Для меня главная польза от связки Blender и ИИ не в лепке формы, а вот в таких однообразных, но требующих точности проверках.
Если вы тоже делаете игру с 3D-моделями от ИИ и застряли на риггинге или анимациях, найдите меня в Threads или X и напишите в комментариях под любым постом — поболтаем.
