Форматы 3D для игр: FBX, OBJ и текстуры
Каждый персонаж, каждый ящик и каждая пушка в игре — это связка двух вещей: 3D-модели и натянутых на неё текстур. Но как модель из Blender попадает в Unity? Почему для анимации нужен FBX, а не OBJ? И причём тут UV-развёртка, PBR и загадочные форматы DDS и TGA? Разбираем весь конвейер игровой графики простыми словами.
Из чего собран игровой объект
Любой предмет в игре — это, по сути, две сущности, работающие в паре. Первая — 3D-модель (mesh): каркас из вершин и полигонов, задающий форму. Вторая — текстуры: 2D-картинки, которые натягиваются на этот каркас и дают ему цвет, блеск и рельеф. Голая модель выглядит как серая болванка; текстуры превращают её в ржавую бочку, кожаный доспех или блестящий меч.
Чтобы всё это оказалось в игре, художник проходит конвейер: моделирует объект, делает ему UV-развёртку, рисует текстуры, а затем импортирует модель и текстуры в игровой движок — Unity или Unreal. На каждом этапе — свои форматы файлов, и путаница в них ломает результат. Разберём по порядку.
Коротко
Игровой ассет = 3D-модель (обычно FBX) + набор текстур (DDS/TGA/PNG), связанных через UV-развёртку. Движок собирает из них материал и рисует объект на экране в реальном времени.
FBX и OBJ: чем модель едет в движок
Из десятков 3D-форматов в геймдеве закрепились два — и выбор между ними решает одна вещь: нужна ли анимация.
FBX — стандарт индустрии. Этот формат от Autodesk несёт не только геометрию, но и всё, что делает персонажа живым: скелетную анимацию, риггинг (кости и скиннинг), морф-таргеты, камеры и целую иерархию сцены. Поэтому анимированный герой, враг или машина с открывающимися дверями едут в движок именно в FBX — без потерь.
OBJ проще: он хранит только геометрию и ссылку на материалы, но не умеет в анимацию. Его удел — статичные объекты: камни, здания, реквизит окружения. Если вещь не двигается, OBJ подойдёт; если двигается — только FBX. Подробнее о различиях — в нашем сравнении OBJ, FBX, STL и glTF.
| Формат | Анимация | Риг / кости | Когда брать |
|---|---|---|---|
| FBX | Да | Да | Персонажи, всё анимированное |
| OBJ | Нет | Нет | Статичное окружение, реквизит |
| glTF/GLB | Да | Да | Веб-игры, лёгкие ассеты, Unreal |
Импорт в Unity и Unreal
Оба главных движка принимают эти форматы, но с нюансами. Unity поддерживает OBJ и FBX, причём FBX — рекомендованный формат. Unreal Engine работает с OBJ, FBX и GLB, и для него GLB часто удобнее.
Ключевой момент при импорте — не забыть про текстуры. Движки ищут их по соглашению: например, Unity сначала смотрит в подпапку Textures рядом с моделью, а если не находит — сканирует проект целиком. Поэтому текстуры кладут в понятную папку рядом с FBX, иначе модель приедет «голой» и серой. Полезный совет от практиков: при импорте отключайте «Recompute Normals» и «Recompute Tangents», если художник уже подготовил их правильно.
UV-развёртка: как текстура ложится на модель
Вот момент, который сбивает с толку новичков: как плоскую 2D-картинку аккуратно натянуть на трёхмерную фигуру? Ответ — UV-развёртка (UV unwrapping). Представьте, что вы разрезали картонную коробку по рёбрам и разложили её в плоский чертёж. Ровно это делают с 3D-моделью: её поверхность «разворачивают» в двумерную выкройку, где каждой точке модели соответствует координата на текстуре.
Буквы U и V — это просто оси на плоскости текстуры (аналог X и Y, только названия свободные, ведь XYZ уже заняты в 3D). Без корректной UV-развёртки текстура ляжет с растяжениями, некрасивыми швами или вовсе не появится. Именно UV — тот невидимый мост, что связывает пиксели картинки с гранями модели.
Частая ошибка
Текстура «плывёт», тянется или показывает швы? Почти всегда виновата плохая UV-развёртка, а не сама картинка. Проверять нужно UV, а не перерисовывать текстуру. Кривые UV — причина №1, по которой «текстура не накладывается».
PBR: набор карт вместо одной картинки
Современные игры рисуют материалы по технологии PBR (physically based rendering, физически корректный рендеринг). Суть в том, что на один объект идёт не одна текстура, а целый набор карт, каждая из которых отвечает за свой аспект поверхности:
- Base Color / Albedo — базовый цвет без света и теней.
- Metallic — где поверхность металлическая, а где нет.
- Roughness — насколько поверхность шероховатая или гладкая (матовая или зеркальная).
- Normal — карта нормалей, имитирующая мелкий рельеф.
- Ambient Occlusion — мягкое затенение в углублениях.
Движок смешивает эти карты в один материал, и объект начинает реалистично реагировать на свет: металл бликует, ржавчина матовая, вмятины притеняются. Все карты обязаны быть корректно привязаны к материалу — иначе поверхность выглядит «пластиково» или неправильно.
Форматы текстур: DDS, TGA, PNG
Теперь про сами картинки-текстуры — и здесь у игр свои любимые форматы. В работе художники держат исходники в PNG и TGA: оба поддерживают альфа-канал (прозрачность), а TGA исторически прижился в геймдеве как надёжный формат с альфой. О нём у нас есть отдельный разбор — TGA в играх и графике.
А вот в готовой игре текстуры чаще всего хранятся в DDS (DirectDraw Surface). Его секрет — блочное сжатие: данные лежат в таком виде, что видеокарта читает их напрямую, без распаковки, экономя видеопамять и держа стабильный FPS. Почему движки его обожают, мы разбирали в статьях что такое DDS и DDS в играх. А для тех, кто лезет в чужие игры, есть гид по моддингу текстур через DDS.
Карты нормалей и магия деталей
Отдельного слова заслуживает карта нормалей — приём, без которого современная графика немыслима. Это специальная текстура (обычно сине-фиолетовая на вид), которая хранит не цвет, а направление «микрорельефа» в каждой точке. Видеокарта читает её и подсвечивает поверхность так, будто на плоской грани есть настоящие царапины, поры, заклёпки и швы.
Зачем это нужно? Чтобы низкополигональная модель выглядела детализированной, не нагружая игру миллионами полигонов. Художник лепит высокодетальную скульптуру, «запекает» её рельеф в карту нормалей, а в игру идёт лёгкая модель плюс эта карта. Результат — детализация уровня кино при производительности, которую тянет обычный ПК. Именно связка «лёгкая геометрия + PBR-карты + сжатые DDS-текстуры» и делает современные игры одновременно красивыми и быстрыми.
Готовите текстуры для игрового проекта?
FormatZ конвертирует изображения между PNG, JPG, TGA и другими форматами прямо в браузере — быстро, без установки и регистрации. Идеально для подготовки исходников текстур.
Открыть все форматыХотите глубже разобраться в форматах текстур? Начните с что такое DDS, а для выбора формата модели — с обзора OBJ, FBX, STL и glTF.


