Бесплатный аддон Hardcraft читает структуру CAD-экспорта и строит по ней игровую сетку в Blender
Разработчик Виталий Яблонский открыл доступ к альфа-версии Hardcraft — аддона для Blender, который превращает грязный CAD-экспорт в игровую сетку. Инструмент опирается на служебные данные о поверхностях, которые экспорт всё ещё несёт в себе. Аддон работает в Blender 5.0 и новее.
Позиционирование автор сформулировал прямо: по его словам, это «не универсальный ремешер и не ретопологизатор, который гонит одни квады». Программа читает структуру CAD, разбивает поверхность на патчи и кривые и даёт управлять сеткой отдельно на каждом патче несколькими жестами. На выходе получается смешанная топология: криволинейные поверхности, трубы и лофты получают структурированные сетки из квадов, плоские грани, фичи и вырезы — треугольники.
Границы важнее, чем внутренность
Логика инструмента строится вокруг границ. Контуры патчей пересаживаются обратно на CAD-поверхность и остаются жёсткими, а внутренняя область разворачивается и заполняется уже по ним. По замыслу автора, именно такое разделение делает смешанный результат из квадов и треугольников безопасным: силуэт задаётся CAD-геометрией, а не эвристикой заполнения. Отсюда и порядок работы: художник правит плотность и распределение точек вдоль кривой, а заполнение пересчитывается по ним.
Правки — количество спанов, плотность, контур, отступ, принудительная триангуляция и мазки кистью — хранятся параметрически, по патчам, в отдельной структуре на датаблоке меша. Они переживают отмену действия, сохранение файла и повторное заполнение, поэтому результат остаётся редактируемым до тех пор, пока художник не нажмёт коммит.
Сам цикл работы в документации описан коротко:
- импорт сырого STEP кнопкой в панели — конвертер работает в фоне и отдаёт по объекту на каждое CAD-тело;
- создание ретопо-таргета — либо с автозаливкой всех найденных патчей, либо пустого, под ручную сборку;
- режим PATCH (клавиша 4): выделение патчей мышью, F — заполнить или перезаполнить, X — удалить, Shift+G — выбрать все патчи того же типа CAD-поверхности;
- режим CURVE (клавиша 5): Shift+колесо меняет число спанов, Ctrl+колесо перераспределяет точки без изменения их количества, C делит область новой границей;
- тонкая настройка патчей, залитых умным заполнением, клавишами G, R, S и D — сдвиг решётки, поворот потока, перераспределение и число внутренних узлов;
- коммит: сварка швов между патчами, упаковка UV, снятие параметрического состояния. Опционально переносится CAD-шейдинг через Transfer Normals.
STEP даёт больше, чем мост из Plasticity
Источников данных два, и они не равнозначны. Импорт STEP считается основным вариантом: он приносит определение типов поверхностей, швы периодических граней и параметрические UV из CAD, а на этих данных работает выбор всех патчей одного типа и маршрут заполнения. Поддерживается любой пакет, умеющий отдавать STEP, — от Fusion, SolidWorks и Rhino до Onshape, Inventor, NX, CATIA и FreeCAD.
За импорт отвечает отдельный исполняемый файл на базе OpenCASCADE, который требуется устанавливать дополнительно. Второй путь — мост Plasticity Blender Bridge: он не требует конвертера и позволяет крутить модель туда-обратно вживую, но лишён определителя типов поверхностей, швов периодических граней и параметрических UV.
Есть жёсткое требование к материалу: экспорт должен быть сырым. Любая правка, разделение, объединение или повторное извлечение CAD-меша уничтожает метаданные, после чего распознавание откатывается на чистую геометрию и разбиение на патчи и кривые деградирует. В документации это названо самой частой причиной жалоб на бессмысленное разбиение.
Чего ждать от альфы
Разработчик перечисляет ограничения. Главное — отсутствие потоковой синхронизации: повторно экспортированный CAD не обновляет уже сделанную ретопологию. Переимпорт выполняется отдельной командой, после чего сессия переносится на новую геометрию по идентичности граней: нетронутые патчи сохраняются как есть, перетримленные помечаются устаревшими и перестраиваются при следующем жесте, а патчи с перестроенными или удалёнными поверхностями теряют старую заливку.
Темп разработки высокий: по словам автора, настройки по умолчанию перенастраиваются, а новые возможности сначала появляются за переключателями. Среди уже доступных — копирование и вставка числа спанов между кривыми, настройки тесселяции на каждый импорт и режим Cover, позволяющий накрыть одним патчем группу связанных граней. Документация и ссылка на загрузку опубликованы на сайте проекта.
Похожий инструмент вышел почти одновременно
Hardcraft оказался не единственной попыткой закрыть ту же задачу. Почти одновременно с ним художник по оружию из tinyBuild Андрей Безгодов выпустил PatchGAP — аддон, который превращает импортированные из Plasticity CAD-грани в редактируемые меш-патчи прямо в Blender. Инструмент платный и на данный момент поддерживает Blender 5.2. По словам разработчика, обновления продолжатся, если у аддона найдётся достаточно интереса.
Видео с YouTube — открыть на youtube.com. Если плеер выше не отображается, YouTube недоступен из вашей сети.
Почему такие инструменты появились именно сейчас
Оба релиза выглядят как реакция на смену привычек в хард-сёрфейсе. За последние годы заметная часть художников по оружию, технике и пропам перенесла этап моделирования в CAD-подобные пакеты, где форма строится булевыми операциями и фасками. Скорость на входе выросла, но узкое место, вероятно, сместилось дальше по конвейеру.
Причина техническая. NURBS-поверхность нельзя отдать движку напрямую, её приходится тесселировать, а тесселятор оптимизирует отклонение от исходной поверхности, а не поток рёбер. Отсюда триангулированный импорт с плотной и неуправляемой сеткой, малопригодной для игрового ассета и для развёртки. Универсальные ремешеры решают задачу половинчато: они видят только форму и вынуждены угадывать, где заканчивается одна поверхность и начинается другая, поэтому теряют фаски и режут плоскости произвольно. Подход, при котором инструмент опирается на уцелевшую в экспорте информацию о гранях, снимает необходимость угадывать, но требует, чтобы художник не трогал импорт до обработки. Это, по сути, новая дисциплина работы с исходниками, и обе программы одинаково жёстко на ней настаивают.
Ниша при этом уже плотно заселена: на рынке есть и ручные инструменты ретопологии внутри Blender, и автоматические ремешеры, и узкие патч-аддоны, дополняющие связку Plasticity с Blender. Ставка Hardcraft и PatchGAP именно на метаданные CAD выглядит попыткой занять участок, который автоматические ремешеры не закрывают в принципе.
То, что два независимых разработчика подошли к одной задаче почти одновременно и оба нацелились на пятую ветку Blender, вероятно, говорит о накопившемся спросе. Если тенденция продолжится, можно ожидать конкурирующих решений того же типа и постепенного превращения ретопологии CAD-моделей из ручной операции в полуавтоматическую — с контролем на уровне границ и плотности, а не отдельных петель. Для студий это означает сокращение времени на подготовку хард-сёрфейс-ассетов, для художников — смещение навыка от ручного обвода геометрии к управлению параметрами и аккуратной подготовке CAD-исходника.