Сжатие GLB: Draco — вид тот же, байтов в разы меньше

Перетащите .glb и получите его обратно с геометрией, сжатой Draco, и без дублирующихся данных. Текстуры, материалы, скелет, морф-таргеты и анимации остаются как были; меняется только способ хранения треугольников. До 50 файлов в одном ZIP.

Бесплатно · без регистрации · файлы удаляются через 3 дня

Что сжатие делает с файлом

Три прохода по порядку. Одинаковые аксессоры, текстуры и материалы хранятся один раз, а не при каждом использовании. Ресурсы, на которые ничто не ссылается, удаляются, причём все атрибуты вершин, все концевые узлы и все блоки extras намеренно сохраняются: вариант материала, которому ещё нужны текстурные координаты, их не теряет. Затем каждый примитив меша кодируется Draco: позиции в 14 бит, нормали в 10, текстурные координаты в 12. Это значения библиотеки по умолчанию: в просмотрщике разницы не видно, а геометрия уменьшается в два-четыре раза.

Текстуры не трогаются. В модели с текстурами на них обычно приходится большая часть байтов, поэтому экономия зависит от того, какую долю файла изначально занимала геометрия: скан с одной небольшой текстурой сжимается на 80 или 90 процентов, низкополигональный объект с текстурами 4K — на несколько процентов. Страница показывает оба размера, так что гадать не придётся.

Где открывается GLB со сжатием Draco

Three.js, Babylon, model-viewer, glTFast для Unity, Godot, Blender и эталонный просмотрщик Khronos декодируют Draco при загрузке. Не умеет этого только одно семейство — VRM: UniVRM и программы для VTuber читают только обычный glTF, поэтому VRM здесь не принимается, вместо того чтобы превратиться в файл, который нигде не откроется. Оптимизатор VRM уменьшает VRM так, чтобы эти программы могли его прочитать.

Чего этот инструмент не умеет

Не для VRM

Файл .vrm или .glb с данными VRM не принимается, и вместо него предлагается оптимизатор VRM. VRM, сжатый Draco, не загружается ни в UniVRM, ни в какой-либо программе для VTuber, а файл, который нигде не открывается, уменьшенным считать нельзя.

Только геометрия

Текстуры сохраняют свой формат и размер. Если основной вес файла — изображения 4K, экономия будет небольшой; перед сжатием уменьшите изображения в 3D-редакторе или пропустите файл через шаг текстур в оптимизаторе VRM.

В ZIP до 50 файлов

Файлы, кроме .glb, игнорируются; вложенные папки в результате сохраняются. Если файлов больше 50 или распакованные модели занимают больше 500 MB, сначала разбейте архив на ZIP поменьше.

Три дня, потом удаляются

Загруженный файл и результат удаляются через три дня после задачи, независимо от того, скачали вы результат или нет. Истории на странице нет: сохраните ссылку на скачивание в закладках или заберите файл, пока он доступен.

Частые вопросы

Изменится ли вид модели после сжатия?

На обычном расстоянии просмотра — нет. Draco квантует позиции до 14 бит в пределах габаритов модели: для персонажа ростом два метра это десятая доля миллиметра. Жёсткие рёбра, UV-швы и гладкое затенение сохраняются, потому что нормали и текстурные координаты передаются вместе с вершинами.

Почему VRM не принимается?

Программы, читающие VRM (UniVRM, VSeeFace, импортёр VRChat, VRoid Hub), не декодируют Draco. Сжатие выдало бы вам аватар поменьше, который не откроет ни одна программа для VRM. Оптимизатор VRM уменьшает количество полигонов и текстуры, не сжимая контейнер, — такой файл эти программы читают.

Можно сжать несколько файлов сразу?

Да: упакуйте их в ZIP и перетащите архив. До 50 файлов .glb, каждый сжимается под своим именем, и всё возвращается одним ZIP, а размер каждого файла до и после показан на странице.

Справится ли он с файлом, который уже сжат Draco?

Да. Файл декодируется и кодируется заново с описанными выше настройками. Размер останется примерно прежним, в пределах процента в любую сторону: второго уменьшения вдвое не будет.

А анимации и скиннинг?

Проходят без изменений. Draco сохраняет порядок вершин там, где он нужен морф-таргетам, веса скиннинга квантуются вместе с остальными атрибутами, а каналы анимации не трогаются.