Wavefront OBJ (.obj)

Wavefront Стандарт

Wavefront 3D Object (OBJ) е вечният, универсално съвместим 3D геометричен мрежест формат, разработен от Wavefront Technologies, служещ като основополагащ еталон за обмен между софтуер за 3D моделиране, скулптуриране и 3D принтиране.

Конвертиране на OBJ към STL

Безплатен конвертор от OBJ към STL в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Инспектиране и метаданни

Операционните системи и файловите анализатори идентифицират OBJ файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

100% поверително конвертиране в браузъра - файловете никога не напускат вашето устройство

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на хедъра (Magic Bytes)

Операционните системи и файловите анализатори идентифицират OBJ файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

76 20 / 23 20

ASCII ПРЕДСТАВЯНЕ: 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 (Текущ)STLGLBPLY
Поддръжка на анимацияНяма (строго статична геометрия)Няма (статични триъгълници)Пълни скелетни анимацииНяма (статично точково облачно/мрежесто покритие)
Текстурни координати (UV)Пълна поддръжка на UV текстурни координатиНяма (само геометрия)Пълни многоканални UV координатиЦветове на връх / UV координати
Типове многоъгълнициТриъгълници, четириъгълници и n-ъгълници (n-gons)Само триъгълнициТриъгълници и точкиТриъгълници и произволни многоъгълници
Файлов типЧетим от хора ASCII текстДвоичен или ASCII текстКомпактен двоичен контейнерДвоичен или ASCII текст

Често срещани режими на повреда и ръководство за хекс възстановяване

3D моделът се визуализира с обърнато навътре осветление или черни дупки в мрежата.

Първопричина: Обърнат ред на обхождане на лицата (върховете са изброени по посока на часовниковата стрелка вместо обратно), което причинява обърнати нормали.

Възстановяване: Преизчислете и обединете нормалите с помощта на File2File 3D Mesh Repair.

Анализ на сигурността и вектори на атака към парсера

OBJ парсерите обработват ASCII числа и индекси на лица, които могат да задействат уязвимости с препълване на буфера или препълване на цели числа в невалидирани C библиотеки.

Известни вектори на атака

  • Препълване на буфера при четене на прекалено дълги низове за дефиниция на лица с хиляди върхове.
  • Препълване на цели числа по време на разпределението на масиви от координати на върхове.
  • Отказ от услуга чрез преминаване през папка в декларациите за материали на придружаващия файл 'mtllib'.

Защитни добри практики:

Исторически произход и етапи

2000Превръща се в универсалния стандарт за експортиране/импортиране в компютърната 3D графика, поддържан от всеки 3D инструмент на земята.
1990Wavefront се слива с Alias Research (по-късно придобита от Autodesk), циментирайки OBJ в холивудските визуални ефекти (VFX).
1984Wavefront Technologies представя OBJ за анимационния пакет Advanced Visualizer.

Основни предимства и плюсове

  • Абсолютна универсална съвместимост: 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.