Какво е OBJ файл?
OBJ файловете се използват от приложението Advanced Visualizer на Wavefront за дефиниране и съхраняване на геометричните обекти. Предаването назад и напред на геометрични данни е възможно чрез OBJ файлове. Както многоъгълната геометрия, като точки, линии, текстурни върхове, лица, така и геометрията със свободна форма (криви и повърхности) се поддържат от OBJ формат. Този формат не поддържа анимация или информация, свързана със светлината и позицията на сцените.
OBJ файлът обикновено е краен продукт от процеса на 3D моделиране, генериран от CAD (компютърно подпомагано проектиране). Редът по подразбиране за съхраняване на върховете е обратно на часовниковата стрелка, като се избягва изричното деклариране на нормалите на лицето. Въпреки че OBJ файловете декларират информация за мащаба в ред за коментар, все още не са декларирани единици за OBJ координати.
История на 3D OBJ формат
Wavefront Technologies създаде OBJ файлов формат за своето приложение Advanced Visualizer за съхраняване на геометрични обекти и 3D данни. Неговата версия 2.11 е заменена от новодокументирана версия 3. Файловият формат е отворен и е внедрен от други доставчици за техните 3D графични приложения. Wavefront Technologies запази този файлов формат с отворен код и неутрален.
OBJ файлов формат
При 3D обекти кодирането на геометрията на повърхността е предизвикателна задача, която OBJ файловият формат се справи много добре. Този формат е доста гъвкав, тъй като предлага редица възможности за кодиране на повърхностна геометрия. Следват три разрешени формата, които имат своите предимства и недостатъци:
Теселация с многоъгълни лица
Файловият формат OBJ улеснява потребителя да теселира повърхност на 3D модел, използвайки прости или сложни геометрични форми. За кодиране на повърхностна геометрия на модел, файлът съхранява върховете и нормалата към всеки многоъгълник. Въпреки че теселирането увеличава грубостта на модела, все пак е необходимо да се открие правилният баланс между размера на файла и качеството на печат.
Крива в свободна форма
Файловият формат OBJ позволява дефинираните от потребителя повърхностни криви в свободна форма да уточнят повърхностната геометрия на модел. Тъй като кривите със свободна форма са по-сложни от многоъгълните лица, тъй като с малко математически параметри кривите линии могат да бъдат най-добре дефинирани от криви със свободна форма. Следователно, с по-малко данни в сравнение с полигоналните теселации, криви в свободна форма, използвани за генериране на висококачествено кодиране на всеки 3D модел без разширяване на размера на файла.
Повърхности със свободна форма
Файловият формат OBJ също така определя подреждането на повърхностна геометрия с повърхностни петна в свободна форма. Този вид повърхностни лепенки със свободна форма (NURBS) са много подходящи за повърхности без твърди радиални размери като корпус на камион, крила на хеликоптер или корпус на лодка. Използването на повърхности със свободна форма е много изгодно, тъй като те са по-прецизни, за да поддържат размерите на файловете по-малки при по-висока точност. Тези повърхности са съществена част от космическата и автомобилната индустрия, където ниската прецизност е непростима.
Следните ключови думи са подредени по тип данни, за да дефинират геометрията на повърхността.
Елементи | Изявления за крива на свободна форма/повърхностно тяло | Атрибути на крива на свободна форма/повърхност |
---|---|---|
p | Точка | parm |
l | Line | trim |
f | Лице | отвор |
curv | Крива | scrv |
curv2 | 2D крива | sp |
surf | Surface | end |
Атрибути за показване/изобразяване | g | Име на групата |
bevel | Интерполация на скосяване | shadow_obj |
lod | Ниво на детайлност | trace_obj |
d_interp | Интерполация на разтваряне | ctech |
c_interp | Интерполация на цветове | stech |
usemtl | Име на материал | mtllib |
Геометрични върхове | ||
v | Геометрични върхове | vn |
vt | Текстурни върхове | vp |
Цвят и текстура
OBJ файлът позволява информация за цвят и текстура да се съхранява в свързан файлов формат, наречен Material Template Library (MTL). Многоцветните геометрични модели се визуализират с помощта на тези два файла заедно. MTL файловете са базирани на ASCII и улесняват компютърното изобразяване, като описват светлоотразителните свойства на повърхността, използвайки модела на отражение на Phong. Стандартът е приет от голям брой доставчици на софтуер, които се възползват от предимствата му за обмен на материали. Форматът MTL е малко остарял, тъй като не поддържа най-новите технологии, като огледални и паралаксни карти.