Wavefront OBJ (.obj)
Wavefront СтандартWavefront 3D Object (OBJ) е вечният, универсално съвместим 3D геометричен мрежест формат, разработен от Wavefront Technologies, служещ като основополагащ еталон за обмен между софтуер за 3D моделиране, скулптуриране и 3D принтиране.
Конвертиране на OBJ към STL
Безплатен конвертор от OBJ към STL в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират OBJ файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират OBJ файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
76 20 / 23 20ASCII ПРЕДСТАВЯНЕ: v / #
Стандартизация: Wavefront Advanced Visualizer Specification
Технически спецификации
| Контейнерна архитектура | ASCII text file defining vertices (v), texture coordinates (vt), normals (vn), and polygonal faces (f), referencing companion .mtl material files |
| Компресия | Uncompressed human-readable text |
| Поредност на байтовете (Endianness) | UTF-8 / ASCII text stream |
| Цветови пространства | sRGB (defined in companion .mtl file) |
| Канали и структура | Polygonal geometry (triangles, quads, n-gons), smoothing groups, and material references |
| Максимални размери | Unbounded floating-point 3D coordinate space |
| Прозрачност | Opacity ('d' or 'Tr' tag) supported in companion .mtl material files |
| Стрийминг и прогресивно зареждане | Sequential line-by-line parsing allows progressive streaming display of vertices |
Техническа сравнителна матрица: OBJ спрямо конкуренти
| Технически атрибут | OBJ (Текущ) | STL | GLB | PLY |
|---|---|---|---|---|
| Поддръжка на анимация | Няма (строго статична геометрия) | Няма (статични триъгълници) | Пълни скелетни анимации | Няма (статично точково облачно/мрежесто покритие) |
| Текстурни координати (UV) | Пълна поддръжка на UV текстурни координати | Няма (само геометрия) | Пълни многоканални UV координати | Цветове на връх / UV координати |
| Типове многоъгълници | Триъгълници, четириъгълници и n-ъгълници (n-gons) | Само триъгълници | Триъгълници и точки | Триъгълници и произволни многоъгълници |
| Файлов тип | Четим от хора ASCII текст | Двоичен или ASCII текст | Компактен двоичен контейнер | Двоичен или ASCII текст |
Често срещани режими на повреда и ръководство за хекс възстановяване
3D моделът се визуализира с обърнато навътре осветление или черни дупки в мрежата.
Първопричина: Обърнат ред на обхождане на лицата (върховете са изброени по посока на часовниковата стрелка вместо обратно), което причинява обърнати нормали.
Възстановяване: Преизчислете и обединете нормалите с помощта на File2File 3D Mesh Repair.
Анализ на сигурността и вектори на атака към парсера
OBJ парсерите обработват ASCII числа и индекси на лица, които могат да задействат уязвимости с препълване на буфера или препълване на цели числа в невалидирани C библиотеки.
Известни вектори на атака
- Препълване на буфера при четене на прекалено дълги низове за дефиниция на лица с хиляди върхове.
- Препълване на цели числа по време на разпределението на масиви от координати на върхове.
- Отказ от услуга чрез преминаване през папка в декларациите за материали на придружаващия файл 'mtllib'.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Абсолютна универсална съвместимост: 100% от всички програми за 3D моделиране, гейминг двигатели и CAD пакети могат да импортират и експортират OBJ.
- Четим от хора ASCII текст: геометрията може да бъде инспектирана, генерирана програмно и модифицирана във всеки обикновен текстов редактор.
- Поддържа произволни n-ъглови многоъгълници (n-gons), гладки нормали и многоплощни UV текстурни карти.
Технически ограничения и минуси
- Само статична геометрия: не може да съхранява скелетни рингове, тегла на костите, скиниране или анимации.
- Изисква придружаващи .MTL материални файлове и външни файлове с изображения за показване на цветове и текстури.
- Форматирането в ASCII текст води до големи размери на файловете и бавно време за анализ в сравнение с модерни двоични формати като GLB.
Интересни технически факти
- Всеки връх в OBJ файла започва с една буква 'v', нормалите започват с 'vn', текстурните координати с 'vt', а лицата с 'f'.
- Известните 3D тестови модели Стандфордско зайче (Stanford Bunny), Чайникът от Юта (Utah Teapot) и Маймуната Сюзан (Suzanne the Monkey) почти винаги се разпространяват в OBJ формат.
- Wavefront Technologies, която създава OBJ през 1984 г., е една от съвсем първите компании за компютърна графика, спечелила награда на Академията (Оскар) за софтуер за визуални ефекти.
Често задавани технически въпроси
Какво представлява .MTL файлът, който върви с .OBJ файла?
Файлът .MTL (Material Template Library) описва цветовете, блясъка, прозрачността и имената на файловете с изображения на текстори, използвани от 3D модела .OBJ.
Мога ли да отпечатам на 3D принтер OBJ файл?
Да. Повечето модерни програми за нарязване (slicers) за 3D принтери (като Cura и PrusaSlicer) приема OBJ файлове директно, като често запазват пълния цвят при използване на многоцветни 3D принтери.
Как мога да конвертирам OBJ в GLB или STL?
Можете да конвертирате OBJ файлове (заедно с придружаващите ги MTL и текстори) в модерни GLB или подходящи за 3D печат STL файлове директно във вашия уеб браузър с помощта на File2File.app.
Свързани двойки за конвертиране на OBJ
Конвертирането на Wavefront OBJ файлове в Stereolithography STL формат преобразува цветните модели на дизайна в мрежи от сурови триъгълници, готови за 3D принтиране.
Конвертирането на Stereolithography STL файлове във Wavefront OBJ формат преобразува сурови триъгълни повърхностни мрежи в гъвкави геометрични дефиниции с поддръжка на текстури и материали.
Конвертирането на Polygon PLY файлове във Wavefront OBJ формат преобразува данни от 3D скенер в универсално съвместима геометрия, готова за стандартен софтуер за моделиране.
Конвертирането на геометрични файлове Wavefront OBJ в glTF JSON манифести модернизира статичните 3D модели в готови за уеб ресурси, които се зареждат незабавно в стандартни уеб браузъри.