Размер файла — это не производительность
GLB на 2 МБ, который выдаёт 12 кадров в секунду, и GLB на 20 МБ, который выдаёт 60, — оба варианта вполне реальны. Сжатие решает проблему времени загрузки. Этот инструмент решает проблему времени кадра, и общего у этих двух задач почти нет.
Кадры у вас на самом деле отнимают вызовы отрисовки. Каждый отдельный примитив меша — это команда, которую процессор обязан отправить видеокарте, вместе со сменами состояния. Модель мебели, экспортированная из CAD в виде 400 отдельных деталей, выдаёт 400 вызовов отрисовки на кадр, и никакое сжатие Draco тут не поможет.
Что делает каждый шаг
Объединение мешей — сливает в один примитивы с одинаковым материалом и набором атрибутов. Это самый большой выигрыш в реальном времени: сцена нередко переходит от сотен вызовов отрисовки к единицам.
GPU-инстансинг — если один и тот же меш встречается многократно (болты, стулья, деревья), он переводится в EXT_mesh_gpu_instancing, и видеокарта рисует все копии за один вызов.
Палитра материалов — сливает материалы, отличающиеся только базовым цветом, в один атласный материал, что открывает дорогу объединению мешей, которые раньше слить было нельзя.
Дедупликация — экспортёры регулярно записывают один и тот же аксессор, текстуру или материал дважды. Их слияние экономит память и позволяет объединить больше на следующих шагах.
Очистка — удаляет узлы, материалы, текстуры и аксессоры, на которые никто не ссылается. Чистый выигрыш: внешний вид не меняется никогда.
Сварка — объединяет совпадающие по положению дублирующиеся вершины, уменьшая индексные буферы и улучшая работу кэша.
Схлопывание иерархии — убирает вложенные узлы, единственная роль которых — хранить трансформацию.
Переупорядочивание — переставляет индексы и вершины так, чтобы посттрансформационный вершинный кэш видеокарты попадал куда чаще. Обычно это бесплатные 5–15 % прироста на стороне GPU.
Разреженные аксессоры — компактно хранят данные, состоящие в основном из нулей (частый случай для морф-таргетов).
Нормали — генерирует вершинные нормали там, где экспортёр о них забыл; именно из-за их отсутствия некоторые модели выглядят гранёными или чёрными.
Порядок важен
Эти шаги не независимы. Сварка должна выполняться до объединения, иначе слитые меши потащат за собой дублирующиеся вершины. Инстансинг должен идти до схлопывания иерархии, потому что схлопывание уничтожает ту самую повторяющуюся структуру, которую инстансинг и находит. Переупорядочивание — всегда последнее, когда итоговые индексные буферы уже существуют. Инструмент соблюдает этот порядок принудительно: переключатели решают только то, какие шаги выполнять.
Два профиля
- Реальное время — включено всё. Для подготовки ассета к веб-просмотрщику или движку.
- Безопасный — только дедупликация, очистка, сварка и переупорядочивание. Структура не меняется, имена узлов и иерархия остаются нетронутыми.
Выбирайте Безопасный, если ваше приложение ищет объекты по имени или анимирует конкретные узлы: объединение и схлопывание это сломают.
Чего инструмент не сделает
Объединяются только меши с общим материалом. Модель с 40 действительно разными материалами по-прежнему выдаст минимум 40 вызовов отрисовки — лечится это атласом текстур, а это работа моделлера, а не автоматики. Таблица результатов по шагам честно показывает, чего добился каждый шаг.
Приватность
Все преобразования выполняются локально в вашем браузере. Ничего не загружается, не сохраняется и не логируется.
Tiny Online Tools







