Wavefront OBJ (.obj)
Wavefront СтандартWavefront 3D Object (OBJ) е широко използван формат за обмен на 3D геометрия. Поддръжката на геометрия, материали и текстури зависи от приложението за моделиране, скулптиране или 3D печат.
Конвертиране от OBJ към STL
Безплатен конвертор от OBJ към STL в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират OBJ файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират OBJ файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
76 20 / 23 20ASCII ПРЕДСТАВЯНЕ: v / #
Стандартизация: Wavefront Advanced Visualizer Specification
Технически спецификации
| Контейнерна архитектура | ASCII текстов файл с дефиниции на върхове (v), текстурни координати (vt), нормали (vn) и многоъгълни стени (f), с препратки към съответните материални файлове .mtl |
| Компресия | Некомпресиран, четим от хора текст |
| Поредност на байтовете (Endianness) | Текстов поток във UTF-8 / ASCII |
| Цветови пространства | sRGB (задава се в съответния файл .mtl) |
| Канали и структура | Многоъгълна геометрия (триъгълници, четириъгълници и n-ъгълници), групи за изглаждане и препратки към материали |
| Максимални размери | Неограничено пространство за 3D координати с плаваща запетая |
| Прозрачност | Прозрачността (маркер 'd' или 'Tr') се задава в съответните материални файлове .mtl |
| Поточно предаване и прогресивно зареждане | Последователното четене ред по ред позволява постепенно показване на върховете |
Техническа сравнителна матрица: OBJ спрямо конкуренти
| Технически атрибут | OBJ (Текущ) | STL | GLB | PLY |
|---|---|---|---|---|
| Поддръжка на анимация | Няма (строго статична геометрия) | Няма (статични триъгълници) | Пълни скелетни анимации | Няма (статично точково облачно/мрежесто покритие) |
| Текстурни координати (UV) | Пълна поддръжка на UV текстурни координати | Няма (само геометрия) | Пълна поддръжка на UV координати за множество текстурни слоеве | Цветове за всеки връх / UV координати |
| Типове многоъгълници | Триъгълници, четириъгълници и многоъгълници с n страни | Само триъгълници | Триъгълници и точки | Триъгълници и произволни многоъгълници |
| Файлов формат | Четим за хората ASCII текст | Двоичен или ASCII текст | Компактен двоичен контейнер | Двоичен или ASCII текст |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
3D моделът се визуализира с обърнато навътре осветление или черни дупки в мрежата.
Първопричина: Обърната посока на обхождане на стените (върховете са изброени по часовниковата стрелка вместо обратно на нея), което води до обърнати нормали.
Възстановяване: Преизчислете и обединете нормалите с помощта на File2File.app 3D Mesh Repair.
Анализ на сигурността и вектори на атака към парсера
Парсерите на OBJ обработват ASCII числа и индекси на стени, които могат да доведат до препълване на буфера или целочислено препълване в непроверени C библиотеки.
Известни вектори на атака
- Препълване на буфера при четене на прекомерно дълги низове за дефиниране на стени с хиляди върхове.
- Целочислено препълване при заделяне на памет за масиви с координати на върхове.
- Отказ от услуга чрез излизане извън зададената директория при обработка на декларации за съответния материален файл 'mtllib'.
Най-добри практики за защита: Задавайте максимални граници за индексите на върховете и проверявайте и обезопасявайте пътищата до придружаващите файлове с материали.
Исторически произход и етапи
Основни предимства
- 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.
Свързани двойки за конвертиране на OBJ
Конвертирането на Wavefront OBJ файлове в Stereolithography STL формат преобразува цветните модели на дизайна в необработени триъгълни мрежи, готови за 3D принтиране.
Конвертирането на Stereolithography STL файлове във Wavefront OBJ формат преобразува сурови триъгълни повърхностни мрежи в гъвкави геометрични дефиниции с поддръжка на текстури и материали.
Конвертирането на Polygon PLY файлове във Wavefront OBJ формат преобразува данни от 3D скенер в универсално съвместима геометрия, готова за стандартен софтуер за моделиране.
Конвертирането на геометрични файлове Wavefront OBJ в манифести glTF JSON превръща статичните 3D модели в готови за уеб ресурси, които се зареждат бързо в стандартните браузъри.