3D-модель OBJ (.obj)

Wavefront Стандарт

Wavefront 3D Object (OBJ) - це позачасовий, універсально сумісний формат 3D-геометричних сіток, розроблений компанією Wavefront Technologies, який слугує базовим еталоном обміну між програмним забезпеченням для 3D-моделювання, скульптингу та 3D-друку.

Конвертувати з OBJ у STL

Безкоштовний конвертер з OBJ у STL у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли OBJ, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності з нульовою передачею мережею: 0 байт завантажено на зовнішні сервери. Уся обробка виконується локально в пісочниці вашого браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли OBJ, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 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-гониЛише трикутникиТрикутники та точкиТрикутники та довільні полігони
Тип файлуЗрозумілий людині текст ASCIIБінарний або текст ASCIIКомпактний бінарний контейнерБінарний або текст ASCII

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

3D-модель відображається з вивернутим навиворіт освітленням або чорними дірами в сітці.

Першопричина: Інвертований порядок обходу граней (вершини перераховані за годинниковою стрілкою замість проти годинникової), що спричиняє інвертування нормалей.

Відновлення: Перерахуйте та уніфікуйте нормалі за допомогою інструменту File2File 3D Mesh Repair.

Аналіз безпеки та векторів атак на парсери

Аналізатори OBJ обробляють числа ASCII та індекси граней, що може спровокувати переповнення буфера або переповнення цілих чисел у неперевірених бібліотеках C.

Відомі вектори атак

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

Захисні найкращі практики:

Історичне походження та віхи

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

Головні переваги та плюси

  • Абсолютна універсальна сумісність: 100% усіх програм 3D-моделювання, ігрових рушіїв та систем САПР можуть імпортувати та експортувати OBJ.
  • Зрозумілий людині текст ASCII: геометрію можна переглядати, генерувати програмно та змінювати в будь-якому базовому текстовому редакторі.
  • Підтримує довільні n-гонні полігони, згладжені нормалі та багатотайлову UV-текстурну розгортку.

Технічні обмеження та мінуси

  • Лише статична геометрія: не може зберігати скелетне риггування, ваги кісток, скіннінг або анімацію.
  • Вимагає супутніх файлів матеріалів .MTL та зовнішніх файлів зображень для відображення кольорів і текстур.
  • Форматування тексту ASCII призводить до великих розмірів файлів і повільного часу синтаксичного аналізу порівняно з сучасними бінарними форматами, такими як GLB.

Цікаві технічні факти

  • Кожна вершина у файлі OBJ починається з однієї літери 'v', нормалі починаються з 'vn', текстурні координати - з 'vt', а грані - з 'f'.
  • Знамениті тестові 3D-моделі Стенфордського кролика, Ютського чайника та мавпи Сюзанни майже завжди поширюються у форматі OBJ.
  • Компанія Wavefront Technologies, яка створила OBJ у 1984 році, була однією з перших компаній комп'ютерної графіки, що здобула премію «Оскар» за програмне забезпечення для візуальних ефектів.

Поширені технічні запитання

Що таке файл .MTL, який постачається разом із файлом .OBJ?

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

Чи можна надрукувати файл OBJ на 3D-принтері?

Так. Більшість сучасних слайсерів для 3D-принтерів (таких як Cura та PrusaSlicer) приймають файли OBJ напряму, часто зберігаючи повний колір при використанні багатоколірних 3D-принтерів.

Як конвертувати OBJ у GLB або STL?

Ви можете конвертувати файли OBJ (разом із супутніми MTL та текстурами) у сучасні файли GLB або придатні для 3D-друку STL безпосередньо у веббраузері за допомогою File2File.app.