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

Hugging Face опубликовал в своём блоге новый инструмент, который автоматически конвертирует вершинно-окрашенные полигональные сетки в текстурированные меши. Это означает, что 3D-модели, хранящие цвет в вершинах, теперь можно легко преобразовать в формат с текстурными картами, совместимый с игровыми движками, рендерерами и приложениями для 3D-печати. Инструмент доступен через демо-страницу на Hugging Face Spaces и репозиторий на GitHub, что позволяет любому желающему опробовать его в действии.
Многие 3D-модели, особенно созданные с помощью фотограмметрии или процедурной генерации, хранят цвета непосредственно в вершинах. Однако такой формат несовместим со стандартными игровыми движками, рендерерами и приложениями для 3D-печати, которые ожидают текстурные карты. Инструмент решает эту проблему, делая модели универсальными и готовыми к использованию в различных пайплайнах.
Как работает инструмент
Инструмент принимает на вход 3D-сетку в формате PLY или OBJ с цветами вершин и автоматически разворачивает UV-координаты, создаёт текстурную карту (diffuse map) и сохраняет результат в виде текстурированного меша. В основе лежит алгоритм UV-развёртки и интерполяции цвета вершин в тексели. Разрешение текстуры настраивается, поддерживаются форматы PNG и JPEG. Код написан на Python с использованием библиотек trimesh и Pillow, что обеспечивает гибкость и лёгкость интеграции.
Процесс конвертации включает несколько этапов. Сначала инструмент анализирует геометрию сетки и генерирует UV-координаты, если они отсутствуют. Затем цвета вершин интерполируются в текстуру заданного разрешения. Наконец, создаётся новый меш с текстурой, который можно экспортировать в формате OBJ с MTL-файлом. Пользователь может контролировать параметры развёртки и качество текстуры через простой интерфейс или командную строку.
Почему это важно для 3D-сообщества
Вершинно-окрашенные сетки часто используются в фотограмметрии, где цвет каждой точки облака переносится на вершины. Однако такие модели не поддерживаются в большинстве игровых движков, таких как Unity или Unreal Engine, а также в программах для 3D-печати. Инструмент Hugging Face устраняет этот разрыв, позволяя разработчикам и художникам быстро адаптировать модели без ручной работы.
Кроме того, это упрощает пайплайн для исследователей компьютерного зрения, которые работают с 3D-данными. Вместо того чтобы тратить время на ручную UV-развёртку, они могут автоматизировать процесс и сосредоточиться на анализе. Инструмент также полезен для создания датасетов, где требуется единообразное представление моделей.
Какие форматы и настройки поддерживаются?
Инструмент поддерживает входные форматы PLY и OBJ, которые являются стандартными для вершинно-окрашенных сеток. Выходной формат — текстурированный OBJ с MTL-файлом, а текстура может быть сохранена в PNG или JPEG. Разрешение текстуры настраивается от 256x256 до 4096x4096, что позволяет балансировать между качеством и производительностью. Пользователь также может выбрать метод UV-развёртки, хотя подробности о доступных алгоритмах пока не раскрыты.
Кого затронет этот релиз
Инструмент полезен разработчикам игр, специалистам по 3D-графике, исследователям компьютерного зрения и всем, кто работает с 3D-моделями из фотограмметрии или сканирования. Hugging Face подчёркивает, что решение упрощает пайплайн обработки 3D-данных, делая его более доступным. Например, инди-разработчики могут быстро конвертировать сканированные объекты для использования в своих проектах, а исследователи — интегрировать инструмент в автоматизированные конвейеры.
Кроме того, инструмент может быть полезен в образовательных целях, позволяя студентам изучать процесс UV-развёртки и текстурирования на реальных примерах. Открытый код на GitHub даёт возможность модифицировать алгоритм под конкретные нужды.
Что пока неизвестно
Не указана точная производительность алгоритма на больших сетках с миллионами вершин. Также нет информации о поддерживаемых методах UV-развёртки — возможно, используется простейшая планарная проекция или более сложные алгоритмы, такие как LSCM. Лицензия инструмента не объявлена, хотя код открыт, что предполагает открытую лицензию, но это не подтверждено.
Пользователям с крупными моделями стоит протестировать инструмент на своих данных, чтобы оценить скорость и качество. Также неизвестно, планирует ли Hugging Face интегрировать этот инструмент в более широкую платформу для 3D-обработки.
Как начать использовать инструмент
Для использования инструмента достаточно перейти на демо-страницу на Hugging Face Spaces, загрузить PLY или OBJ файл и запустить конвертацию. Для локального использования можно клонировать репозиторий с GitHub и запустить скрипт на Python. Инструмент требует установки библиотек trimesh, Pillow и numpy. Документация включает примеры команд и описание параметров.
В целом, этот релиз — шаг к унификации 3D-форматов и упрощению работы с моделями из разных источников. Hugging Face продолжает расширять экосистему инструментов для машинного обучения и компьютерного зрения, и этот инструмент — полезное дополнение для 3D-сообщества.