Подселил Claude в Houdini. Он сам собрал жеоду из 31 ноды — а я весь вечер его туда заселял

Это не ускоренная запись моей работы. Ноды на видео ставлю не я. Я написал задачу обычными словами в чат прямо внутри Houdini — а AI-агент сам создал ноды, соединил их, написал VEX, разложил сеть по цветным блокам и проверял себя скриншотами вьюпорта. 22 минуты работы, на видео ускорено примерно в 24 раза. Музыка тоже своя — написана под ролик.

Как это работает

Если коротко: между Claude и Houdini есть «переводчик» — MCP. Это протокол, через который нейросеть может пользоваться программой: создать ноду, поменять параметр, посмотреть на вьюпорт. Агент видит набор таких «кнопок» и сам решает, на какие нажимать.

Никакой магии. Просто очень терпеливый пользователь Houdini, который печатает Python быстрее вас и не устаёт.

Что для этого нужно

  • Houdini 20.5, 21 или 22
  • подписка Claude Pro или Max — API-ключ не нужен, платить за каждый запрос тоже
  • открытая панель houdini-agent-panel: чат прямо в окне Houdini

Ставится одной командой, панель открывается через «+» на вкладках → New Pane Tab Type → Agent. Звучит как десять минут.

Как десять минут превратились в вечер

Если вы на Windows, вас ждёт квест. Мой выглядел так:

  1. Нажимаю «войти» в панели. Крутится. Крутится. Панель вежливо предлагает сделать то же самое в терминале.
  2. Делаю в терминале, получаю свежий токен, сохраняю. Пишу агенту «привет».«Токен истёк». Токену две минуты.
  3. Выясняется, что агент нашёл мой старый вход с сентября и взял его. А новый до него просто не дошёл.
  4. Перезапускаю Houdini. Запускаю через PowerShell. Делаю специальный ярлык. «Токен истёк».
  5. Лезу в исходники панели. И нахожу баг: на Windows панель ищет ваши настройки через командную оболочку, которой в Windows нет. Молча получает пустоту — и агент остаётся без токена, сколько бы раз вы его ни сохраняли.
  6. Чиню. Агент оживает! Пишет «привет». А в Houdini ничего сделать не может — инструментов у него нет. Второй баг: сервер с инструментами падает при запуске, потому что не видит модуль из пакета pywin32. Модуль на месте — просто панель подключает его так, что Python его не находит.

Починил оба и отправил исправления автору панели — PR #46 и PR #47, так что скоро этот квест у вас будет короче.

Самое смешное — это уже не первый раз. Весной я так же подключал агента через другой сервер, houdini-mcp, и тоже упёрся в Windows: сервер давился собственным баннером, кнопка «стоп» вызывала несуществующую функцию, а агент вешал Houdini, вытаскивая тяжёлую геометрию целиком. Тогда починил и отправил автору — приняли в основной проект.

Подробную пошаговую инструкцию со всеми командами и граблями выложу на Хабре.

Сначала астероид, потом жеода

Первым делом я дал агенту процедурный астероид — чисто чтобы проверить связку: ставит ли ноды, пишет ли VEX, чинит ли ошибки. Справился за 17 минут. А для ролика взял задачу поинтереснее: жеоду — каменный «орех», расколотый пополам, а внутри аметисты.

Главный вывод: агенту надо ставить задачу как техническому художнику, а не как поисковику. Иначе на выходе каша из attribwrangle17. Вот промпт — копируйте и пробуйте:

Построй в /obj/geode процедурную жеоду: каменный «орех», расколотый пополам, внутри друза кристаллов аметиста. Сразу открой /obj/geode в Network Editor и работай так, чтобы сеть всегда была видна. Ноды создавай по одной, не одним скриптом. Нодам давай понятные имена. После каждого этапа: разложи сеть, обведи ноды этапа network box с подписью, покрась их в свой цвет, поставь display на последнюю ноду и проверь себя скриншотом вьюпорта. 1. ОБОЛОЧКА: сфера → шум (неровный камень, не шар) → VDB → полая оболочка → полигоны. 2. РАСКОЛ: срез примерно пополам неровной плоскостью, край скола рваный. 3. КРИСТАЛЛЫ: точки внутри → направление по нормали, у стенок короткие, к центру длинные → шестигранный кристалл с острой верхушкой → copy to points. 4. ЦВЕТ: серо-бурый камень, светлые полосы агата на срезе, кристаллы от тёмно-фиолетового у основания к светлым кончикам. 5. ФИНАЛ: всё в OUT, вьюпорт на красивый ракурс среза. Если нода падает с ошибкой — найди причину и почини, не начинай заново. В конце: сколько нод получилось и где ошибался.

Самое смешное — его отчёт об ошибках

Последняя строчка промпта — «где ошибался» — лучшая находка. Агент честно отчитался, как стажёр на планёрке:

  • «Шум камня сначала был слишком слабым, получался почти шар». Усилил.
  • «Кристаллы вышли тонкими, как иглы». Сделал толще и гуще.
  • «Полосы агата выглядели рваной рябью» — полос было слишком много, а сетка крупнее одной полосы. Переделал.
  • «Цвет через рампу молча не сработал — все точки получили один цвет». Нашёл причину, завёл отдельный атрибут.
  • «Авто-раскладка дважды дала плохой результат — этап уехал в сторону, потом ноды легли лесенкой». Расставил руками. Ну, своими.

И один пункт честно назвал невыполненным: вьюпорт Houdini не рисует полупрозрачное, поэтому «почти прозрачные» кончики видны только светлым цветом. Прозрачность сохранена в атрибуте и сработает при рендере.

Что он умеет, а что нет

По первым тестам:

  • Хорошо: многоэтапная процедурка — VDB, раскол, копирование по точкам, атрибуты и градиенты. И главное — сам замечает, что результат не тот, ищет причину и чинит, иногда со второй попытки.
  • Плохо: хард-сёрфейс. Корпус дрона или самолёта он строит мучительно — мелкая геометрия ему не даётся. Моделить руками пока быстрее. Раскладку сети тоже лучше доверить человеку — или попросить расставить вручную, как он в итоге и сделал.
  • Важно: агент — это фактически консоль внутри вашего Houdini, он может выполнить любой Python. Работайте с ним на своей машине и сохраняйтесь. Каждое его действие откатывается Ctrl+Z.

Что дальше

Дальше хочу проверить его на настоящих задачах: симуляции, подбор вариантов через TOPs, сборка инструментов. Напишите в комментариях, что проверить — самое интересное разберу отдельным постом.

Я технический художник: Houdini, Unreal, научная визуализация, AI-видео. Другие проекты — arybashov.github.io