.OBJ вариант №
Файлы OBJ используются приложением Wavefront Advanced Visualizer для определения и хранения геометрических объектов. Обратная и прямая передача геометрических данных возможна через файлы OBJ. Формат OBJ поддерживает как полигональную геометрию, такую как точки, линии, вершины текстуры, грани, так и геометрию произвольной формы (кривые и поверхности). Этот формат не поддерживает анимацию или информацию, связанную с освещением и положением сцен.
Файл OBJ обычно является конечным продуктом процесса 3D-моделирования, созданного с помощью CAD (системы автоматизированного проектирования). Порядок хранения вершин по умолчанию — против часовой стрелки, что позволяет избежать явного объявления нормалей граней. Хотя файлы 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-кривая | 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 немного устарел из-за отсутствия поддержки новейших технологий, таких как карты отражения и параллакса.