3D

OBJ, FBX, STL или glTF: какой 3D-формат выбрать

Скачали 3D-модель, а рядом лежит зоопарк файлов: .obj, .fbx, .stl, .gltf. Какой из них открывать, а какой удалить? Хорошая новость: это не конкуренты, а четыре инструмента под четыре разные задачи. Разберёмся, какой формат для чего создан — и как выбрать за 30 секунд.

Абстрактный 3D-рендер: парящие красные стеклянные многогранники на цветной сетке
Любую 3D-модель нужно во что-то «упаковать» — и от выбора упаковки зависит, что доедет до цели. Фото: Pexels

Главное за минуту

Все четыре формата хранят трёхмерную модель, но каждый заточен под свой этап жизни этой модели. Если совсем коротко:

  • OBJ — простой обмен геометрией. Открывается почти везде, но не знает про анимацию.
  • FBX — профессиональный обмен между Maya, 3ds Max, Blender, Unity и Unreal. Хранит анимацию, кости, камеры и свет.
  • STL — исключительно для 3D-печати. Только форма, без цвета и текстур.
  • glTF/GLB — доставка 3D в браузер, AR и метавселенные. Лёгкий, современный, с реалистичными материалами.

Простая аналогия

Представьте, что 3D-модель — это блюдо. OBJ — рецепт на бумажке (передать коллеге), FBX — полный набор с посудой и сервировкой (профессиональная кухня), STL — форма для выпечки (3D-печать), а glTF — готовое блюдо на вынос (открыл и сразу «съел» в браузере).

OBJ — универсальный дедушка

OBJ (Wavefront Object) появился ещё в конце 1980-х и с тех пор стал негласным «эсперанто» трёхмерной графики. Это простой текстовый формат: внутри перечислены вершины, нормали, координаты текстур и грани — всё в виде строк, которые при желании можно прочитать в блокноте.

Ключевая деталь: сами материалы OBJ хранит не в себе, а в отдельном файле-компаньоне .mtl (Material Template Library). Поэтому OBJ-модель почти всегда «путешествует» парой файлов — не потеряйте .mtl, иначе останетесь без цветов и текстур.

Сильная сторона OBJ — тотальная совместимость: его импортирует буквально любой 3D-редактор, а значит, он идеален для переноса статичной геометрии между разными программами и для долгого хранения. Слабая сторона — он ничего не знает про анимацию, кости и современные PBR-материалы: под капотом всё ещё старое затенение по Фонгу.

Стол 3D-принтера Prusa с пиктограммами предупреждений крупным планом
Любой 3D-объект — это набор точек и граней; форматы лишь по-разному описывают одну и ту же геометрию. Фото: Pexels

FBX — рабочая лошадь анимации

FBX (Filmbox) — детище компании Autodesk, владельца Maya и 3ds Max. Это проприетарный, но фактически стандартный формат «тяжёлого» обмена в геймдеве и кино. В отличие от OBJ, FBX умеет упаковать целую сцену: меши, материалы и текстуры, скелетную анимацию по ключам, риггинг (кости и скиннинг), морф-таргеты, камеры, источники света и иерархию объектов.

Именно поэтому FBX — безальтернативный выбор, когда модель должна двигаться. Персонаж с ригом, анимированное существо, машина с открывающимися дверями — всё это OBJ просто не удержит, а FBX перенесёт из 3D-редактора в движок без потерь.

Подводный камень FBX

FBX закрыт: его внутренний формат принадлежит Autodesk, а разные версии (2013, 2016, 2020…) бывают несовместимы. Модель, экспортированная в свежем FBX, может не открыться в старой программе. Если нужна максимальная совместимость и открытость — смотрите в сторону glTF.

STL — язык 3D-принтеров

STL (расшифровывают как STereoLithography или «Standard Tessellation Language») — самый «однозадачный» формат в этой четвёрке. Он описывает только поверхность модели набором треугольников и не хранит ни цвета, ни текстур, ни единиц измерения по умолчанию. И это не недостаток: 3D-принтеру нужна только форма — он выдавливает пластик слой за слоем, а цвет задаётся катушкой филамента.

Главное требование к STL — сетка должна быть «водонепроницаемой» (manifold): каждое ребро принадлежит ровно двум треугольникам, без дыр и вывернутых нормалей. Если модель «дырявая», слайсер не поймёт, где у неё внутренность, и печать сорвётся. Про подготовку STL к печати у нас есть отдельная подробная статья.

glTF/GLB — «JPEG среди 3D»

glTF (GL Transmission Format) — открытый формат консорциума Khronos, созданный специально для быстрой доставки 3D в реальном времени. Его собственные авторы прозвали формат «JPEG среди 3D»: он такой же лёгкий и готовый к показу для трёхмерных сцен, каким JPEG стал для картинок. В 2022 году glTF 2.0 приняли как международный стандарт ISO/IEC 12113.

В отличие от OBJ, glTF из коробки поддерживает физически корректные PBR-материалы и анимацию, а рендерится почти без накладных расходов — данные хранятся в виде, близком к тому, что ждёт видеокарта. У формата два обличья: .gltf — это JSON-описание сцены (иногда с внешними файлами буферов и текстур), а .glb — тот же формат, упакованный в один бинарный файл, куда «зашиты» и геометрия, и текстуры. Про веб и AR у нас есть детальный разбор glTF и GLB.

Фотореалистичный 3D-рендер интерьера современной гостиной с диваном и кухней
Реалистичные интерьеры и товары для сайтов чаще всего доставляют именно в glTF/GLB — он лёгкий и красивый. Фото: Pexels

Сравнение в одной таблице

Соберём ключевые различия вместе, чтобы выбор занимал секунды:

ФорматАвторАнимацияМатериалыГлавная задача
OBJWavefrontНетMTL (базовые)Обмен геометрией
FBXAutodeskДаЕсть, + текстурыИгры и кино
STL3D SystemsНетНет3D-печать
glTF/GLBKhronosДаPBR (реалистичные)Веб и AR
1файл у GLB (всё внутри)
2файла у OBJ (+ MTL)
STL — только треугольники

Как выбрать под свою задачу

Практическое правило: выбирайте формат не «какой лучше вообще», а «куда модель поедет дальше». Вот короткий алгоритм по шагам.

1

Печатаете на 3D-принтере?

Берите STL. Проверьте, что сетка водонепроницаемая, и отправляйте в слайсер.

2

Нужна анимация или риггинг?

Ваш выбор — FBX (профессиональный пайплайн) или glTF (веб и открытые движки).

3

Модель для сайта, товара или AR?

Однозначно glTF/GLB: лёгкий, с PBR, открывается в браузере и по Quick Look на iPhone.

4

Просто передать статичную форму?

OBJ — самый безопасный вариант: его точно откроют в любой программе.

Работаете с форматами файлов каждый день?

FormatZ конвертирует изображения, документы и текстуры прямо в браузере — быстро, без установки и регистрации. Загляните в каталог: наверняка найдётся нужное преобразование.

Открыть все форматы

Если же вы не уверены, что за формат перед вами и чем его открыть, начните с обзорной статьи чем открыть 3D-модель — там разобраны бесплатные вьюеры для OBJ, FBX и STL. А тем, кто делает игры, полезен наш гид по форматам 3D для игр.

Не бывает «лучшего» 3D-формата — бывает правильный формат под конкретную задачу. Знаете задачу — выбор очевиден.
Для простой геометрии без анимации — OBJ: его открывает почти любая 3D-программа, а материалы лежат в понятном текстовом файле MTL рядом. Если нужен один файл, который откроется и на вебе, и в AR, и в большинстве движков, — glTF/GLB. FBX универсален внутри профессиональных пайплайнов (Maya, 3ds Max, Unity, Unreal), но это проприетарный формат Autodesk.
OBJ хранит только геометрию и ссылку на материалы (MTL) — без анимации, костей и камер. FBX умеет всё это: скелетную анимацию, риггинг, морфинг, свет, камеры и целую иерархию сцены. Поэтому для статичной модели берут OBJ, а для анимированного персонажа — FBX.
STL — стандарт де-факто для 3D-печати. Он описывает поверхность модели треугольниками и не хранит ни цвет, ни текстуры — принтеру они не нужны. Главное требование: сетка должна быть «водонепроницаемой» (manifold), иначе слайсер не сможет корректно нарезать модель на слои.
glTF (GL Transmission Format) — открытый формат Khronos для быстрой доставки 3D в реальном времени. Он компактный, хранит PBR-материалы и анимацию, и рендерится почти без накладных расходов в браузере и AR. Прозвище «JPEG среди 3D» отражает его роль: лёгкий готовый к показу формат для веба, как JPEG для картинок.
Да, но с оговорками. Геометрия переносится почти всегда, а вот анимация, риггинг и PBR-материалы могут потеряться, если целевой формат их не поддерживает (например, при экспорте FBX в OBJ или STL). Универсальный «мост» между форматами — бесплатный Blender: он импортирует и экспортирует все четыре.