Нейросеть Hunyan3D-2, генерирующая 3D модели по 2D картинкам, от компании Tencent появилась недавно в открытом доступе. Ее рабочая версия в виде «3D студии» существует, но доступна только владельцам китайских мобильных номеров (или если у вас есть WeChat). Но также она выложена в виде исходных кодов и поэтому ее уже «запилили» для использования с ComfyUI. Если вам повезет, то вы сможете все поставить быстро и просто. Если же нет, то... но об этом упомяну позже.

Враппер для ComfyUI под названием ComfyUI‑Hunyuan3DWrapper/ создал юзер Kijai и он пока находится в экспериментальном статусе и в него постоянно вносятся изменения. Но он уже в достаточно работоспособном состоянии, особенно если вы используете ComfyUI под Windows.

Системные требования: видеокарта Nvidia (на CPU очень медленно) хотя бы с 8 Гб видеопамяти (у меня RTX 4060) и 16 Гб ОЗУ (но лучше больше, так как у меня нейросеть при работе съедала от 17 до 20 Гб оперативки) и Windows 11.

Порядок установки следующий:

Качаем последнюю версию ComfyUI. Так как у меня на компьютере зоопарк из разных нейросетей и версий Python, то все дальнейшие действия будут относиться к Portable версии. Распаковываем архив. У меня он находится по пути D:\ComfyUI-windows-portable\ относительно него и будут дальнейшие команды.

Затем открываем командную строку, переходим в папку D:\ComfyUI_windows_portable\ComfyUI\custom_nodes\(или заходим в нее в Проводнике и вводим в поле пути:cmd и нажимаем Enter) и устанавливаем враппер

git clone https://github.com/kijai/ComfyUI-Hunyuan3DWrapper/

Возвращаемся в D:\ComfyUI_windows_portable\ и устанавливаем нужные зависимости, запустив в командной строке:

python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper\requirements.txt

А теперь важный момент — установка растеризатора, а точнее его бинарного ядра. Для этого оставаясь в той же директори, запускаем команду:

python_embeded\python.exe -m pip install ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper\wheels\custom_rasterizer-0.1.0+torch260.cuda126-cp312-cp312-win_amd64.whl

В 99% случаев у вас потом все заработает, если же нет, то попробуйте поставить wheel файл для более старой версии torch:

python_embeded\python.exe -m pip install ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper\wheels\custom_rasterizer-0.1-cp312-cp312-win_amd64.whl

Если же после этого растеризация и создание текстур не заработают, то тогда вам придется собирать его и mesh генератор вручную, установив библиотеки разработчика C++, Cuda, заголовочные файлы Python и взяв в руки бубен. Если же вы вдруг решите все поставить под Linux, то вам придется собирать ядро растеризации и генератора сетки в любом случае — читайте внимательно инструкцию на github враппера.

Далее качаем саму модель Hunyan3D-2 в виде safetensor файла по ссылке и кладем ее в папку D:\ComfyUI_windows_portable\ComfyUI/models\diffusion_models\.

Если после этого запустить ComfyUI и попытаться открыть пайплайн генерации, то мы получим кучу предупреждений об отсутствующих нодах. Нам нужно установить расширение ComfyUI‑Essentials, если оно у вас не установлено ранее.

Это проще всего сделать через ComfyUI‑Manager. Для этого в командной строке снова переходим в папку D:\ComfyUI_windows_portable\ComfyUI\custom_nodes\ и там ставим расширение командой

git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager

Все. Можно запускать ComfyUI. После этого нужно открыть (или перенести в окно браузера) пайплайн генерации hy3d_example_01.json, который находится по пути D:\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper\example_workflows.

Нам высыпет кучу ошибок, поэтому вызываем менеджер кнопкой Manager в правом верхнем углу и выбираем пункт Install Missing Custom Nodes.

Отмечаем ComfyUI_essential и нажимаем на Install. Потом перезапускаем ComfyUI.

Теперь все должно запуститься и все ноды обнаружиться.

После нужно указать путь к модели, так как по умолчанию в примере он неверный. Щелкните на название модели в поле model и выберите ее из появившегося списка.

Можно нажать на генерацию и насладиться 3D моделью. Но можно и не насладиться. Если у вас не выводит текстурированную модель, то нужно удалить, вытащить на экран и заново связать две ноды: Hy3DExportMesh и Preview3D:

После генерации модели сохраняются как обычно в папке output в двух GLB файлах: просто геометрия и с текстурами. Для конвертирования можно использовать любой софт или сервисы, например я конвертировал в OBJ тут: https://convert3d.org/glb‑to‑obj

По скорости: на моей машине генерация 3D‑модели занимает порядка 200–220 секунд. Все зависит от числа полигонов и не рекомендуется делать его большим (по дефолту стоит 50 000 полигонов). Для сравнения ниже внешний вид модели при числе полигонов 300 000, 50 000, 10 000 и «шакальных» 1000 штук.

Я создавал 3D модели фигурок роботов для использования в версии моей настольной игры «Битва Големов» для Tabletop Simulator, который после экспорта в OBJ и вставки в него модели на 50 000 полигонов выдает ошибку. Поэтому я остановился на 10 000, благо игра сама оформлена в low-poly стиле.

Также вы можете включить параметр сглаживания сетки:

Модели нормально импортируются в тот же Blender и там дорабатываются. Маленькая хитрость — если экран 3D модели ничего не отображает, попереключайте режимы кнопками в левом верхнем углу ноды:

Итоговый результат в Tabletop Simulator на картинке:

Да, генерация еще не оптимальная и сильно зависит от качества исходного изображения и его сложности, так как картинка импортируется в низком разрешении. Есть вопросы к скорости и качеству текстуризации, но мы еще в начале пути 3D моделей и уверен дальше будет лучше.

Комментарии (15)


  1. SadOcean
    02.02.2025 12:51

    Несмотря на то, что выглядит как какашечка, это действительно впечатляет.
    Впрочем о чем тут говорить, сама генерация изображений нейросетями, если подумать, то еще чудо чудесное.


  1. AlexRihter9690
    02.02.2025 12:51

    чувствую, что меши, которые там получаются - настоящий кошмар 3д художника


    1. akdengi Автор
      02.02.2025 12:51

      3D художникам такое пока очень и очень рано. Это для тех, кому надо быстро 3D модельку сделать, но у кого лапки :)


    1. silkysmooth
      02.02.2025 12:51

      Настоящий кошмар был год назад, а тут меши уже очень даже ничего, но пока все равно не то. Плюс тут нужно учитывать, что модельки, которые состоят из только одного меша целиком существуют в крайне ограниченной области. Любой персонаж как минимум имеет отдельно глаза, часто еще и одежду. Любая движущаяся часть должна генерироваться как отдельный меш. Так что ждем.


  1. Mr_Zavod
    02.02.2025 12:51

    Как же нейросетям тяжело дается это направление.

    А все потому что надо модельку не как набор точек и треугольников скармливать, а как структуру. Которая создаётся из примитивов с поэтапным добавлением деталей.

    Для этого можно попробовать скормить нейрсеткам туториалы с ютуба. Их много. Но ресурсов такое обучение с анализом видео и звука в 1080р сожрет явно на порядки больше, чем даже самые продвинутые текстовые модели.

    Зато будут идеальные модельки с супер топологией, разверткой, редактируемыми модификаторами и так далее.

    Ждем.


    1. Jijiki
      02.02.2025 12:51

      уже же есть нейросети вроде, которые делают через облако точек, а потом поидее по поверхности обьема точек делают ретопологию поидее, типо облако даёт силует


    1. a0lli1en
      02.02.2025 12:51

      Дело в том, как мне кажется, что нейронки не "видят" мир так, как люди. У нас есть органы чувств в виде тех же глаз, благодаря которым мы ловим свет, а мозг его обрабатывает и исходя из тех или иных данных, мы получаем на данный момент, самую объективную картину, которую мозг может сгенерировать. Нейронки же состоят из двоичного кода, у которого нет никаких органов чувств, у которого нет возможности "увидеть", чтобы "понять" как выглядит то что что нейронка должна по нашим требованиям сделать. И именно поэтому, происходят проблемы с 3д объектами. Но возможно я лопух и ничегошеньки не понимаю.


  1. Jijiki
    02.02.2025 12:51

    в целом интересно, спасибо, почему obj используете?

    я для себя открыл формат .3ds, возможно если напишу под него парсер буду им пользоваться, под модельки с костями пока юзал fbx ну и obj, но obj редко, хочу выйти на уровень чтоб парсить нужную инфу на модельку и кидать просто 3-4 списка последовательно так вроде проще если либо бд использовать или сериализацию, тут правда есть нюансы как кидать списки - raw данные, но победа в том что потом при присоединении обьекта в структуру проекта он парситься не будет


    1. akdengi Автор
      02.02.2025 12:51

      Tabletop Simulator понимает только OBJ для моделек. Ну и для печати STL, мне не для анимации.


  1. zagoper
    02.02.2025 12:51

    3ddd.ru цены опять подняли на модели, надеюсь через пару лет они лососнут тунца


    1. Foxchasing
      02.02.2025 12:51

      С чего бы им лососнуть, у них все будет в порядке, нормальные модели, сделанные людьми, как были, так и будут востребованы. К тому же, обучение генеративных нейросетей, зачастую напоминает воровство, скорее будут накладываться ограничения на такие модели, хотя, перспективы моделей для генерации качественных и функциональных 3D объектов под вопросом, учитывая пониманимание специфики изнутри.


      1. Jijiki
        02.02.2025 12:51

        голова самое сложное если реально делать и без референсов а по обрубовке которая есть в реале, ну если она референс) тоесть мышкой на глаз по пропорциям в блендере причем реф не в пк, получается самое сложное руки и голова


        1. Foxchasing
          02.02.2025 12:51

          Ну, я вижу, что у вас довольно общие и абстрактные представления о моделировании, особенно о моделировании с учетом будущей сферы применения модели. Ну да ладно, не мне развеивать какие-то мифы или учить вас.


          1. Jijiki
            02.02.2025 12:51

            общие представление, а как же тогда делать голову, если нужна именно стиль обрубовки вы предлагаете сначала рисовать референс тоесть переносить соскульптуренный купленный референс в магазине и в блендер тащить картинку, зачем если блендер отвечает всем параметрам на перенос ощущения обьема от увиденного блендер буквально и для этого придуман, голова самая сложная часть, если руки еще можно как-то перекинуть в формулу, то голову врятли, да и руки все равно придётся мышкой делать, я написал про голову и руки, потомучто чтобы уйти от словосочетания воровство в диджитал модельках придётся делать руками модельку с головой и руками, и потом её анимировать - руками - тоесть мышкой это вполне доступно сегодня, весь пайплайн от общего к частному на персонажа со всем необходимым для порта в движок (ну или покупать систему анимирования(там где костюм), но проще собрать модельку и сделать риг самому)


            1. Foxchasing
              02.02.2025 12:51

              Я, вам, ничего не предлагаю и беседу предпочитаю закончить.