Що таке файл OBJ?
Файли OBJ використовуються програмою Wavefront Advanced Visualizer для визначення та зберігання геометричних об’єктів. Зворотна та пряма передача геометричних даних можлива через файли OBJ. У форматі OBJ підтримується як полігональна геометрія, як точки, лінії, вершини текстури, грані, так і геометрія довільної форми (криві та поверхні). Цей формат не підтримує анімацію чи інформацію, пов’язану зі світлом і положенням сцен.
Файл OBJ зазвичай є кінцевим продуктом процесу 3D-моделювання, створеного за допомогою САПР (системи автоматизованого проектування). Порядок за замовчуванням для збереження вершин – проти годинникової стрілки, уникаючи явного оголошення нормалей граней. Хоча файли OBJ оголошують інформацію про масштаб у рядку коментаря, але жодних одиниць не було оголошено для координат OBJ.
Історія формату 3D OBJ
Компанія Wavefront Technologies створила формат файлу OBJ для своєї програми Advanced Visualizer для зберігання геометричних об’єктів і 3D-даних. Його версія 2.11 замінена нещодавно задокументованою версією 3. Формат файлу є відкритим і був реалізований іншими постачальниками для їх програми тривимірної графіки. Компанія Wavefront Technologies залишила цей формат файлів відкритим і нейтральним.
Формат файлу OBJ
У 3D-об’єктах кодування геометрії поверхні є складною роботою, з якою формат файлу OBJ впорався дуже добре. Цей формат є досить універсальним, оскільки пропонує кілька варіантів кодування геометрії поверхні. Нижче наведено три дозволені формати, які мають свої переваги та недоліки:
Тесселяція з багатокутними гранями
Формат файлу OBJ полегшує користувачеві мозаїку поверхні 3D-моделі за допомогою простих або складних геометричних фігур. Для кодування геометрії поверхні моделі файл зберігає вершини та нормалі до кожного багатокутника. Хоча тесселяція збільшує грубість моделі, все ж необхідно знайти правильний баланс між розміром файлу та якістю його друку.
Крива вільної форми
Формат файлу OBJ дозволяє за допомогою визначених користувачем поверхневих кривих вільної форми вказувати геометрію поверхні моделі. Оскільки криві довільної форми є складнішими, ніж багатокутні грані, оскільки за невеликої кількості математичних параметрів криві лінії можна найкраще визначити за допомогою кривих довільної форми. Таким чином, з меншою кількістю даних порівняно з полігональними мозаїками, криві вільної форми використовуються для створення високоякісного кодування будь-якої 3D-моделі без збільшення розміру файлу.
Поверхні вільної форми
Формат файлу OBJ також визначає мозаїку геометрії поверхні за допомогою фрагментів поверхні довільної форми. Цей вид поверхонь довільної форми (NURBS) дуже підходить для поверхонь без жорстких радіальних розмірів, таких як кузов вантажівки, крила вертольота або корпус човна. Використання поверхонь довільної форми є дуже вигідним, оскільки вони більш точні, щоб зберегти розміри файлів меншими при вищій точності. Ці поверхні є важливою частиною аерокосмічної та автомобільної промисловості, де низька точність невблаганна.
Наступні ключові слова впорядковано за типом даних для визначення геометрії поверхні.
Елементи | Описи довільної кривої/поверхні | Атрибути довільної кривої/поверхні |
---|---|---|
p | Точка | parm |
l | Лінія | обрізка |
f | Лице | отвір |
curv | Крива | scrv |
curv2 | 2D curve | sp |
surf | Surface | end |
Атрибути відображення/рендерінгу | g | Назва групи |
bevel | Інтерполяція скосу | shadow_obj |
lod | Рівень деталізації | trace_obj |
d_interp | Інтерполяція розчинення | ctech |
c_interp | Інтерполяція кольорів | stech |
usemtl | Назва матеріалу | mtllib |
Геометричні вершини | ||
v | Геометричні вершини | vn |
vt | Текстурні вершини | vp |
Колір і текстура
Файл OBJ дозволяє зберігати інформацію про колір і текстуру у пов’язаному форматі файлу під назвою Бібліотека шаблонів матеріалів (MTL). Багатоколірні геометричні моделі візуалізуються за допомогою цих двох файлів разом. Файли MTL базуються на ASCII і полегшують комп’ютерну візуалізацію шляхом опису світловідбиваючих властивостей поверхні за допомогою моделі відбиття Фонга. Стандарт був прийнятий великою кількістю постачальників програмного забезпечення, які використовують його переваги для обміну матеріалами. Формат MTL трохи застарів, оскільки не підтримує новітні технології, такі як дзеркальні та паралаксні карти.