Wavefront OBJ (.obj)

Wavefront Стандарт

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

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

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

Проверка и метаданни

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

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

Поверително - файловете никога не напускат устройството ви

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

Байтов подпис на заглавката (сигнатурни байтове)

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

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

76 20 / 23 20

ASCII ПРЕДСТАВЯНЕ: v / #

Стандартизация: Wavefront Advanced Visualizer Specification

Технически спецификации

Контейнерна архитектураASCII текстов файл с дефиниции на върхове (v), текстурни координати (vt), нормали (vn) и многоъгълни стени (f), с препратки към съответните материални файлове .mtl
КомпресияНекомпресиран, четим от хора текст
Поредност на байтовете (Endianness)Текстов поток във UTF-8 / ASCII
Цветови пространстваsRGB (задава се в съответния файл .mtl)
Канали и структураМногоъгълна геометрия (триъгълници, четириъгълници и n-ъгълници), групи за изглаждане и препратки към материали
Максимални размериНеограничено пространство за 3D координати с плаваща запетая
ПрозрачностПрозрачността (маркер 'd' или 'Tr') се задава в съответните материални файлове .mtl
Поточно предаване и прогресивно зарежданеПоследователното четене ред по ред позволява постепенно показване на върховете

Техническа сравнителна матрица: OBJ спрямо конкуренти

Технически атрибутOBJ (Текущ)STLGLBPLY
Поддръжка на анимацияНяма (строго статична геометрия)Няма (статични триъгълници)Пълни скелетни анимацииНяма (статично точково облачно/мрежесто покритие)
Текстурни координати (UV)Пълна поддръжка на UV текстурни координатиНяма (само геометрия)Пълна поддръжка на UV координати за множество текстурни слоевеЦветове за всеки връх / UV координати
Типове многоъгълнициТриъгълници, четириъгълници и многоъгълници с n страниСамо триъгълнициТриъгълници и точкиТриъгълници и произволни многоъгълници
Файлов форматЧетим за хората ASCII текстДвоичен или ASCII текстКомпактен двоичен контейнерДвоичен или ASCII текст

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

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

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

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

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

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

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

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

Най-добри практики за защита: Задавайте максимални граници за индексите на върховете и проверявайте и обезопасявайте пътищата до придружаващите файлове с материали.

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

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

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

  • OBJ се поддържа от много инструменти за 3D моделиране и игрови енджини, но поддръжката и възможностите за експортиране зависят от приложението.
  • ASCII текст, четим от хора: геометрията може да бъде проверена, генерирана програмно и променена във всеки обикновен текстов редактор.
  • Поддържа произволни n-ъглови многоъгълници (n-gons), гладки нормали и UV текстури с множество плочки.

Технически ограничения и минуси

  • Само статична геометрия: не може да съхранява скелетни ригове, тегла на костите, скиниране или анимации.
  • Изисква придружаващи .MTL материални файлове и външни файлове с изображения за показване на цветове и текстури.
  • Форматирането в ASCII текст води до големи размери на файловете и бавен анализ в сравнение с модерни двоични формати като GLB.

Интересни технически факти

  • Всеки връх във всеки OBJ файл започва с една буква 'v', нормалите започват с 'vn', текстурните координати с 'vt', а лицата с 'f'.
  • Тези модели се срещат в различни формати, включително OBJ; наличният файл зависи от източника.
  • Wavefront Technologies, която създава OBJ през 1984 г., е една от съвсем първите компании за компютърна графика, спечелила награда на Академията (Оскар) за софтуер за визуални ефекти.

Често задавани технически въпроси

Какво представлява файлът .MTL, който придружава файла .OBJ?

Файлът .MTL (Material Template Library) описва цветовете, блясъка и прозрачността, както и имената на файловете с текстури, използвани от 3D модела .OBJ.

Мога ли да отпечатам на 3D принтер OBJ файл?

Да. Повечето съвременни програми за подготовка на 3D модели за печат (като Cura и PrusaSlicer) приемат OBJ директно и често запазват пълноцветните данни при печат с многоцветен 3D принтер.

Как мога да конвертирам OBJ в GLB или STL?

Можете да конвертирате OBJ файлове (заедно с придружаващите ги MTL и текстури) в модерни GLB или подходящи за 3D печат STL файлове директно във вашия уеб браузър с помощта на File2File.app.