glTF и GLB: 3D для веба, AR и метавселенных
Покрутили кроссовок на карточке товара, примерили диван к комнате через камеру телефона, увидели 3D-модель прямо в поиске Google? За всем этим почти наверняка стоит один формат — glTF (или его бинарный близнец GLB). Разбираемся, почему именно он стал «JPEG среди 3D» и захватил веб, дополненную реальность и метавселенные.
Что такое glTF простыми словами
glTF расшифровывается как GL Transmission Format — «формат передачи для GL». Его разработал консорциум Khronos Group (те же люди, что стоят за OpenGL и Vulkan) специально для одной задачи: быстро доставлять 3D-модели туда, где их будут показывать в реальном времени, — в браузер, приложение или очки дополненной реальности.
Ключевую роль формата авторы описали одной фразой: «JPEG среди 3D». Как JPEG стал лёгким универсальным способом показать картинку, так glTF стал лёгким готовым к отрисовке способом показать 3D-сцену. Он не предназначен для тяжёлого редактирования — это формат доставки, «последней мили» до экрана. В 2022 году зрелость формата закрепили официально: glTF 2.0 приняли как международный стандарт ISO/IEC 12113.
Коротко
glTF — открытый, компактный формат для показа 3D в реальном времени. Хранит геометрию, PBR-материалы и анимацию в виде, близком к тому, что ждёт видеокарта, поэтому открывается почти мгновенно и одинаково выглядит везде.
glTF против GLB: два обличья
Здесь новичка ждёт первая развилка: .gltf и .glb — это не разные форматы, а две упаковки одного и того же. Разберём различие, потому что оно практически важно.
.gltf — это текстовый файл в формате JSON. Он описывает структуру сцены (какие объекты, где, с какими материалами), но сами «тяжёлые» данные — геометрию и текстуры — часто выносит в отдельные файлы: буфер .bin и картинки. То есть glTF нередко «путешествует» набором из нескольких файлов.
.glb — это бинарная версия, где всё склеено в один файл: и JSON-описание, и геометрия, и текстуры зашиты внутрь. Для веба, обмена и AR это почти всегда удобнее: один файл проще загрузить, он не растеряет текстуры по дороге и меньше запросов к серверу.
| Свойство | glTF (.gltf) | GLB (.glb) |
|---|---|---|
| Тип | Текст (JSON) | Бинарный |
| Файлов | Часто несколько | Один |
| Правится вручную | Да | Нет |
| Удобство доставки | Среднее | Высокое |
| Где чаще | Разработка | Веб, AR, обмен |
PBR-материалы: почему выглядит «дорого»
Главная визуальная фишка glTF — встроенная поддержка PBR (physically based rendering, физически корректного рендеринга). Вместо того чтобы просто задать «цвет объекта», PBR описывает поверхность набором понятных параметров: базовый цвет (albedo), металличность, шероховатость, карту нормалей, самосвечение и другие.
Что это даёт на практике? Материал начинает вести себя как настоящий: металл бликует как металл, матовый пластик рассеивает свет как пластик, и всё это — при любом освещении сцены. Поэтому один и тот же GLB-файл выглядит одинаково реалистично и на сайте, и в игровом движке, и в AR. В отличие от старого OBJ с его затенением по Фонгу, glTF говорит на современном языке материалов.
3D в браузере: three.js и model-viewer
glTF выстрелил именно в вебе, потому что все крупные WebGL-движки добавили его нативную поддержку. Если вы разработчик, у вас есть два уровня простоты.
Самый простой путь — веб-компонент <model-viewer> от Google. Подключаете один скрипт, вставляете тег с адресом вашего .glb — и получаете готовую интерактивную модель: её можно крутить мышкой, она сама подсвечивается и даже даёт кнопку «смотреть в AR». Ноль строк на графику.
Для гибкости берут полноценные библиотеки: three.js (самая популярная), Babylon.js или PlayCanvas. Все они читают glTF/GLB «из коробки» и позволяют строить сложные интерактивные сцены — конфигураторы товаров, игры, визуализации.
AR: примерка через камеру телефона
Дополненная реальность — вторая стихия glTF. Когда вы в интернет-магазине нажимаете «посмотреть в своей комнате» и на экране телефона появляется диван или кроссовок, стоящий на вашем реальном полу, — это работает так:
- На Android модель в GLB запускается прямо из браузера через системный Scene Viewer — конвертация не нужна.
- На iPhone нативный AR Quick Look от Apple ждёт свой формат — USDZ. Поэтому для айфонов ту же модель дополнительно конвертируют из GLB в USDZ.
Хорошая новость: тот же <model-viewer> умеет подхватывать обе версии автоматически — вы указываете и GLB, и USDZ, а компонент сам выбирает нужную под платформу. Именно на этой связке держатся 3D-модели в поиске Google, которые можно «поставить» в комнату прямо из выдачи.
Метавселенные и цифровые двойники
Открытость и лёгкость сделали glTF естественным «кирпичиком» для метавселенных и виртуальных пространств. Аватары, предметы, целые сцены переносят между платформами именно в этом формате, потому что он не привязан к одному вендору и одинаково понятен разным движкам.
Та же логика работает в промышленности и электронной коммерции: «цифровые двойники» товаров, интерактивные каталоги мебели и техники, обучающие 3D-модели — всё это выгодно доставлять в GLB, потому что он открывается на любом устройстве без установки тяжёлых приложений.
Draco и компактность
Даже будучи лёгким, glTF умеет становиться ещё легче. Для этого есть расширение Draco — алгоритм сжатия геометрии от Google, который ужимает вершины и грани в разы. Плюс современные текстуры внутри GLB можно хранить в сжатых для видеокарты форматах (KTX2/Basis), чтобы экономить и трафик, и видеопамять.
Итог: тяжёлая на вид сцена с реалистичными материалами может весить считанные мегабайты и открываться на телефоне за пару секунд. Именно эта комбинация — открытость, PBR и агрессивная компактность — и объясняет, почему glTF за несколько лет стал стандартом 3D для веба и AR.
Готовите ассеты для 3D-проекта?
Картинки, иконки и текстуры для превью удобно конвертировать на FormatZ — прямо в браузере, быстро и без установки. Загляните в каталог форматов.
Открыть все форматыХотите понять, где glTF, а где другие форматы? Начните с обзора OBJ, FBX, STL и glTF. А чтобы просто открыть чужой GLB на компьютере, пригодится статья чем открыть 3D-модель.
