Tiny Online Tools logoTiny Online ToolssearchПоиск инструментов…grid_viewВсе инструменты
Главнаяchevron_right3D-инструментыchevron_rightОптимизатор 3D-текстурОптимизатор 3D-текстур

Оптимизатор 3D-текстур

Меняйте размер, конвертируйте и сжимайте текстуры, встроенные в модели GLB, GLTF, FBX и USDZ — бесплатно и полностью в браузере.

upload_file

Нажмите для выбора или перетащите файлы сюда

Выберите модель с текстурами — GLB, GLTF, FBX, DAE, OBJ или USDZ

Допустимо: .glb,.gltf,.obj,.fbx,.dae,.usdz

Сопутствующие файлы (необязательно)upload_file

Нажмите для выбора или перетащите файлы сюда

Добавьте буферы .bin и изображения текстур для внешних GLTF-моделей

Базовый цвет и свечениеВоспринимаемые глазом карты. Сжатие с потерями здесь безопасно — именно отсюда берётся большая часть экономии.Карты нормалейКаждый пиксель кодирует направление, а не цвет. Сжатие с потерями «сплющивает» рельеф поверхности, а WebP без потерь сохраняет его полностью и всё равно намного меньше PNG.Металличность, шероховатость и затенениеМедленно меняющиеся одноканальные данные. Они прекрасно переносят уменьшение — часто до половины разрешения цветовой карты.Округлять размеры до степеней двойкиТребуется некоторым старым движкам и путям мипмаппинга. Современным WebGL2 и WebGPU это не нужно.

Похожие инструменты

Веб-оптимизатор 3D-моделей

Веб-оптимизатор 3D-моделей

Оптимизируйте 3D-модель для веба по реальному бюджету производительности — бесплатно и полностью в браузере.

Компрессор 3D-моделей

Компрессор 3D-моделей

Сжимайте файлы GLB и GLTF онлайн бесплатно и уменьшайте размер 3D-моделей до 95 %.

Оптимизатор 3D-моделей

Оптимизатор 3D-моделей

Оптимизируйте модели GLB и GLTF для отрисовки в реальном времени прямо в браузере.

Экстрактор 3D-ассетов

Экстрактор 3D-ассетов

Извлеките все текстуры, сетки, материалы и анимации из файла GLB или GLTF в один ZIP.

Изменение скорости аудио

Изменение скорости аудио

Меняйте скорость воспроизведения аудио без изменения высоты тона.

Калькулятор длительности времени

Калькулятор длительности времени

Рассчитывайте время между двумя датами или добавляйте/вычитайте длительность из даты и времени.

Форматировщик JavaScript

Форматировщик JavaScript

Форматирует код JavaScript для удобочитаемости.

apps

Больше инструментов

Просмотрите нашу полную коллекцию бесплатных онлайн-инструментов.

Файл — это и есть текстуры

Откройте GLB на 40 МБ и посмотрите, что в нём на самом деле. Почти всегда геометрия занимает 1–3 МБ, а всё остальное — текстуры. Одна карта нормалей PNG 4096×4096 весит около 20 МБ сама по себе, а полный набор PBR в 4K легко даёт 60 МБ ещё до того, как отрисован первый треугольник.

Этот бесплатный онлайн-оптимизатор 3D-текстур работает только с этой частью файла — и даёт контроль по каждому слоту, которого у обычных компрессоров нет.

Почему настройки по слотам так важны

Одинаковое обращение со всеми текстурами — та самая ошибка, из-за которой оптимизированные модели выглядят неправильно.

Карты базового цвета и свечения воспринимаются глазом. Мелкие цветовые погрешности он прощает, поэтому WebP с потерями при качестве 80 обычно убирает 90 % байтов без заметной разницы.

Карты нормалей — это не изображения. Каждый пиксель кодирует в каналах RGB вектор направления. Субдискретизация цветности в духе JPEG усредняет цветовые каналы между соседними пикселями, а на карте нормалей это означает усреднение направлений поверхности. Итог — мутное, «плоское» освещение, которое описывают словами «модель потеряла детализацию», не понимая причины. Держите карты нормалей без потерь и уменьшайте их разрешение осторожнее, чем цветовые.

Карты металличности-шероховатости и затенения упаковывают одноканальные данные в RGB. Шероховатость меняется по поверхности медленно, поэтому такие карты прекрасно переносят уменьшение — часто вдвое меньше цветовой карты без видимой разницы.

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

Форматы

  • WebP — поддерживается везде, где это важно, даёт огромную экономию, разумный выбор по умолчанию.
  • AVIF — ещё меньше, и кодируется здесь встроенной сборкой libavif, а не браузером, поэтому работает одинаково везде. Кодирование медленнее, чем в WebP, и оправдывает себя на больших цветовых картах.
  • JPEG — без альфа-канала; не подходит ни для чего с прозрачностью.
  • PNG — без потерь, но заметно больше, чем WebP без потерь. Используйте только там, где конвейер требует именно PNG.

KTX2 / Basis Universal намеренно не предлагается. Это лучший формат для видеопамяти, но его кодирование требует энкодера Basis — крупного отдельного набора инструментов, и тогда инструменту пришлось бы врать о том, что он на самом деле выдаёт.

Если перекодирование окажется больше оригинала — так бывает, когда уже сжатый с потерями JPEG загоняют в формат без потерь — инструмент оставит оригинал и сообщит об этом.

Проверьте результат в сетке

После обработки каждая текстура появляется в сетке со своим слотом, итоговыми размерами и весом до и после. Если карта нормалей выглядит выцветшей на миниатюре, такой же она будет и на модели. Измените настройки этого слота и запустите снова.

Размеры — степени двойки

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

Приватность

И декодирование, и перекодирование выполняются через собственные canvas-API вашего браузера. Ни одна текстура никогда не загружается на сервер.