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

Упаковщик каналов текстур

Упакуйте четыре градаций серого карты в одну RGBA-текстуру или распакуйте готовую текстуру обратно в отдельные изображения.

РежимУпаковать каналыРаспаковать каналыОбъедините до четырёх полутоновых карт в каналы R, G, B и A одной текстуры.upload_file

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

Добавьте карты для упаковки — PNG, JPG или WebP, в любом порядке

Допустимо: .png,.jpg,.jpeg,.webp

Пресет раскладкиORM (glTF)RMAUnity Metallic/SmoothnessСвой вариантR = затенение, G = шероховатость, B = металличность. Именно этого ждут glTF и GLB: шероховатость в зелёном и металличность в синем — это спецификация, а не соглашение.R — Фоновое затенениеКак естьG — ШероховатостьКак естьB — МеталличностьКак естьA — Свой вариантКак естьУпаковке нужна единая сетка, поэтому несовпадающие входы масштабируются. Фиксированный размер даёт квадратный результат.

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

Инструмент PBR-текстур

Инструмент PBR-текстур

Создавайте и чините PBR-карты текстур прямо в браузере — бесплатно и без отправки файлов.

Упаковщик GLB и GLTF

Упаковщик GLB и GLTF

Упакуйте .gltf вместе с текстурами в один .glb или распакуйте .glb обратно в редактируемые файлы.

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

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

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

Редактор 3D-материалов

Редактор 3D-материалов

Откройте модель GLB или GLTF и отредактируйте каждый PBR-материал внутри неё — бесплатно, прямо в браузере, ничего не загружая на сервер.

Обработчик облака точек

Обработчик облака точек

Обрезайте, объединяйте, прореживайте, очищайте от шума, трансформируйте и перекрашивайте облака точек LAS, LAZ, PLY, XYZ и PCD.

Калькулятор ИМТ

Калькулятор ИМТ

Рассчитайте индекс массы тела по росту и весу. Поддерживает метрические (кг/см) и имперские (фунт/фут) единицы.

Генератор случайного hex

Генератор случайного hex

Генерируйте случайные шестнадцатеричные строки и цветовые коды прямо в браузере.

apps

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

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

Зачем нужна упаковка каналов

Затенение, шероховатость и металличность — это всего по одному числу на тексель. Поставлять их тремя отдельными текстурами значит три загрузки, три сэмплера на GPU, три набора мип-уровней — и три RGB-изображения, каждое из которых хранит одно и то же значение трижды. Упаковка в каналы одной текстуры сводит всё это к одной выборке. Этот бесплатный онлайн-упаковщик ORM-текстур делает это прямо на вашем устройстве и точно так же распаковывает готовые текстуры.

Раскладки

ORM (glTF / Khronos) — красный = затенение, зелёный = шероховатость, синий = металличность. Для glTF это не оптимизация, а сама спецификация: pbrMetallicRoughnessTexture хранит шероховатость в зелёном канале, а металличность — в синем, тогда как occlusionTexture по устоявшейся практике ссылается на то же изображение ради его красного канала. Экспортируете GLB? Вам нужна именно эта раскладка.

RMA — красный = шероховатость, зелёный = металличность, синий = фоновое затенение. Встречается в Unreal и в наборах ассетов из магазинов. Те же три карты, только в другом порядке — именно поэтому, перепутав раскладки, вы получаете блестящий материал там, где он должен быть шероховатым.

Unity Metallic/Smoothness — красный = металличность, альфа = гладкость. Шейдер Standard в Unity читает из альфы гладкость, то есть величину, обратную шероховатости. Если исходник — карта шероховатости, включите для этого канала инверсию, и преобразование произойдёт прямо во время упаковки.

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

Чтение нужного канала

Каждый канал читает либо яркость (по умолчанию — верный выбор для полутоновых исходников), либо конкретный канал R, G, B или A. Второе важно, когда исходник сам упакован и вы переводите его из одной раскладки в другую — загрузите карту RMA и вытяните из неё зелёный канал в слот металличности.

Входы разного размера

Карта шероховатости 2048 и запечённое затенение 512 — обычное дело. Упаковке нужна единая сетка, поэтому по умолчанию выход подстраивается под самый крупный вход, а карты поменьше масштабируются вверх; можно также принудительно задать квадратное разрешение. Инструмент показывает, какие именно входы он масштабировал.

С альфа-каналом обращаются как положено

Холсты браузера хранят пиксели с предумноженной альфой, и это незаметно разрушает точность цвета всюду, где альфа мала, — что убийственно для карты metallic/smoothness из Unity, у которой самые важные данные лежат как раз в альфе. Поэтому, когда в упакованном результате есть хоть какая-то прозрачность, инструмент пишет PNG сам, байт за байтом, минуя кодировщик холста. Распаковка по той же причине декодирует с прямой (непредумноженной) альфой.

Распаковка

Загрузите упакованную текстуру, выберите используемую раскладку — и получите четыре полутоновых PNG для скачивания, названных по их содержимому. Инвертируйте альфа-канал, чтобы вернуть шероховатость из карты гладкости Unity. Ничего никуда не отправляется — всё происходит локально.