РуководстваИнструкция5 мин чтения
Риг и анимация 3D-моделей из Claude Code: Дайте агенту риггер, а не скрипт для Blender
Добавьте MCP-сервер afk-rig, и Claude Code сделает риг персонажа, животного или пропса одним вызовом инструмента, а затем проверит каждую анимацию и исправит то, что не так.
> Сделай риг models/fox.glb как четвероногого животного и пусть лиса бегает по сцене
● rig_model (path: "models/fox.glb", type: "fox", animations: ["Idle", "Walk", "Run"])
● Update (src/scene.js)
● Риг лисы готов, она бегает. В файле также есть Idle и Walk, их можно смешивать.
Попросите ИИ-агента для программирования «сделай риг этой модели и заставь её ходить», и обычно он попытается сделать всё вручную: Python-скрипт для Blender, который расставляет кости, автоматические веса, цикл ходьбы по ключам, тестовый рендер — и новый круг, когда колени гнутся не в ту сторону. На это может уйти целая сессия, а результат всё равно будет выглядеть не так.
MCP-сервер afk-rig вместо этого даёт агенту один инструмент. rig_model отправляет модель в тот же ИИ-риггер, что и на afk.ai/rig, и записывает обратно GLB со скелетом, весами скиннинга и всеми анимациями для её типа тела — обычно меньше чем за минуту. Агент тратит силы на то, что у него получается хорошо: на код, который проигрывает эти анимации в вашей игре.
Почему агенту трудно делать риг вручную
Риггинг выглядит как задача по программированию, но по большей части это суждения о форме, которую агент не видит. Он работает с координатами вершин и ограничивающими рамками (bounding boxes), а каждая ошибка проявляется, только когда что-то начинает двигаться.
- Суставы
- Агент угадывает, где плечи, бёдра и колени. На стилизованном персонаже, собаке или драконе эти догадки часто ошибочны, а сустав не на своём месте портит все анимации, которые идут после него.
- Веса скиннинга
- Автоматические веса Blender не срабатывают на многих реальных мешах — с отдельными частями, дырами или пересекающимися кусками — и выдают ошибку «Bone Heat Weighting: failed to find solution for one or more bones». После этого агент зацикливается на исправлениях меша, которые не может проверить на глаз.
- Анимации
- Правдоподобные ходьба, бег и idle — это очень много ключей, которые нужно выставить верно, не видя результата, а каждый новый тип тела начинается с нуля.
- Затраты
- Каждая попытка стоит времени и токенов, а два запуска на одной и той же модели редко дают одинаковый результат.
Вместо этого — один вызов инструмента
rig_model передаёт модель риггеру afk.ai. ИИ, обученный находить части тела, расставляет скелет, созданный для такого типа тела, веса скиннинга получаются процессом, настроенным на реальных мешах, а анимации сделаны именно под этот скелет, поэтому подходят без ретаргетинга.
В ответ приходит стандартный GLB, который открывается в three.js, Godot, Unreal, Unity (через glTFast) и Blender. Человек получает 66 костей со всеми пальцами и 594 анимации, остальные 14 типов тела — от 12 до 128 каждый. У всех моделей одного типа тела одинаковые названия костей и анимаций, поэтому всеми ими управляет один контроллер.
| Агент делает риг вручную | Агент вызывает afk-rig | |
|---|---|---|
| Работа | Скрипты, тестовые рендеры и исправления, часто за много кругов | Один вызов инструмента |
| Время | От нескольких минут до долгой сессии | Обычно от 30 секунд до минуты |
| Скелет | Угадан по координатам | Расставлен ИИ, обученным находить части тела |
| Анимации | Ключи вручную, по одной анимации | Все сделаны под этот тип тела |

Меш
23 293 вершины, 6 материалов и 14 текстур, как при загрузке

Скелет
66 костей, включая все пальцы, с одинаковыми названиями у любого гуманоида

Веса скиннинга
До 4 костей на вершину, здесь у каждой кости свой цвет

Анимаций: 593
Все для этого типа тела; здесь Sword_Attack на 0,7 с
knight.rigged.glb, в отрисовке afk-rig render: те же картинки, которые ИИ-агент получает от render_rig.Настройка
Создайте API-ключ в панели разработчика: войдите через Google и нажмите Create key. Затем добавьте сервер в Claude Code:
claude mcp add afk-rig \
--env AFK_API_KEY=afk_... \
-- npx -y afk-rig mcp
В Cursor, Windsurf, Claude Desktop и других MCP-клиентах добавьте его в mcp.json:
{
"mcpServers": {
"afk-rig": {
"command": "npx",
"args": ["-y", "afk-rig", "mcp"],
"env": { "AFK_API_KEY": "afk_..." }
}
}
}
Ключ хранится в окружении сервера, поэтому никогда не попадает в разговор. Агент получает десять инструментов: пять делают риг в облаке afk.ai, а ещё пять проверяют и исправляют модель с ригом на вашем компьютере.
В облаке afk.aiиспользует ваш ключ
- rig_modelДелает риг .glb, .gltf или .fbx и записывает .glb с ригом
- image_to_characterНа входе картинка, на выходе персонаж с ригом
- list_body_types15 типов тела и анимации каждого
- get_accountСколько ригов осталось в этом месяце
- rig_statusРиг, запущенный в другом месте
На вашем компьютеребесплатно, без ключа
- inspect_rigЧто не так в каждой анимации, начиная с худшего
- render_rigКартинка любого момента с нарисованным поверх скелетом
- adjust_animationИнструменты управления анимацией с afk.ai/rig, руки не заходят в тело
- fix_stretchingИсправляет кожу, которая рвётся при движении
- fix_spotЗаново рисует веса скиннинга одного участка
npx afk-rig mcp даёт агенту. Каждое исправление записывает новый файл, так что исходный никогда не меняется.Что у него можно попросить
После добавления сервера просите обычными словами. Агент сам выбирает инструмент, тип тела и анимации:
- «Сделай риг
models/knight.glbкак человека и запусти его комбо с мечом в сцене three.js». - «Сделай риг
models/fox.glbкак четвероногого животного только с Idle, Walk и Run, затем создай сцену Godot, которая переключается между ними». - «Сделай риг каждого .glb в
assets/propsкак объекта с Bounce и Spin и используй их для подбираемых монет и кристаллов». - «Какие анимации есть у типа dragon? Сделай риг
dragon.glbс полётными анимациями и настрой для них AnimationPlayer». - «Сделай риг
horse.glb, импортируй его в Unity как Generic-риг и собери Animator Controller с Walk, Trot и Run». - «Сделай персонажа с ригом по
concept/hero.png». Модели ещё нет?image_to_characterсоздаёт её по картинке и делает риг примерно за 2–3 минуты.
- humanSword combo
- foxRun
- objectBounce
- dragonFly
Проверьте и исправьте результат
Остальные пять инструментов работают на вашем компьютере на том же коде Adjust, что и afk.ai/rig: без ключа, бесплатно и ничего не загружая. inspect_rig находит стопы, проваливающиеся в пол, разрывы кожи и руки, проходящие сквозь тело, — начиная с самых серьёзных. render_rig рисует любой момент любой анимации, чтобы агент мог на него посмотреть. adjust_animation, fix_stretching и fix_spot исправляют это в новый файл, -v2.glb, так что исходный файл никогда не меняется.
Так у агента появляется цикл, который он может прогонять сам: проверить, отрендерить худший момент, изменить что-то одно и проверить снова.
> Проверь Walk у рыцаря и исправь всё, что не так
● inspect_rig (file: "knight.rigged.glb", animations: ["Walk"])
● adjust_animation (animations: ["Walk"], keep_arms_out: 1)
● render_rig (animation: "Walk", time: 1.633) × 2
● Рука со щитом врезалась в левую ногу на трети цикла ходьбы. Исправлено в knight.rigged-v2.glb.

До: колено проходит сквозь щит

После: щит не задевает ногу
Пусть агент сделает остальное
Риггинг — это то, на что агент тратит больше всего сил с наименьшим результатом. А вот обвязка — его сильная сторона: AnimationMixer в three.js, AnimationPlayer в Godot, Animator Controller в Unity, блендинг между клипами или скрипт, который делает риг всех моделей для уровня. От файла с ригом до движения — всего несколько строк:
const gltf = await new GLTFLoader().loadAsync('fox.rigged.glb')
scene.add(gltf.scene)
const mixer = new THREE.AnimationMixer(gltf.scene)
const run = THREE.AnimationClip.findByName(gltf.animations, 'Run')
mixer.clipAction(run).play() // then mixer.update(delta) every frameО том, что умеет риггить API, включая объекты, читайте в статье что можно создать с API для риггинга afk.ai.
Вопросы и ответы
Работает ли MCP-сервер с другими клиентами, кроме Claude Code?
Да. Это стандартный MCP-сервер на stdio (npx afk-rig mcp), так что Cursor, Windsurf, Claude Desktop и другие MCP-клиенты запускают его той же командой с AFK_API_KEY в окружении.
Где происходит риггинг?
rig_model и image_to_character работают на серверах afk.ai: инструмент загружает файл, ждёт и записывает результат в ваш проект. Каждая модель сначала проходит проверку на контент для взрослых, и если проверка её отклоняет, запрос завершается ошибкой и ничего не стоит. Инструменты проверки и исправления работают на вашем компьютере.
Какие модели он может зариггить?
GLB, glTF со всеми встроенными данными или FBX, до 200 МБ, включая файлы со сжатием Draco и meshopt. Выберите тип тела, подходящий модели: human, fox (четвероногие животные), horse (копытные), bird, dragon, kaiju (динозавры), spider, insect, snake, fish, turtle, kangaroo, frog, ghost или object.
Сколько это стоит?
Первые 3 рига каждый месяц бесплатны — тот же лимит, что и на afk.ai/rig. Дальше риги оплачиваются API-кредитами, подробнее — в разделе цены на API. Неудачный риг ничего не стоит, а инструменты проверки и исправления всегда бесплатны.
Можно ли использовать модели с ригом в коммерческих целях?
Да. Скелеты и анимации распространяются по CC0, а ваша модель остаётся вашей.
Дайте своему агенту риггер
Все анимации для типа тела в одном GLB — из Claude Code, Cursor, терминала или вашего кода.
Другие руководства
API
Что можно создать с API для риггинга afk.ai
Отправьте 3D-модель — получите GLB с ригом и всеми анимациями для её типа тела, из терминала, вашего кода или ИИ-агента.
Инструкция
VRM в FBX, GLB в FBX и обратно: 3D-конвертер, который сохраняет анимации
Любая 3D-модель в GLB, FBX, USDZ, OBJ или STL прямо в браузере, с сохранением скелета, весов скиннинга, всех ключевых кадров и форм лица.
Руководство
Ретаргетинг анимации: добавьте анимации модели, у которой уже есть риг
Добавьте анимации модели с ригом, сохранив её скелет, веса скиннинга, физику и уже имеющиеся анимации.