Obj
OBJ geometry format | |
---|---|
Расширение |
..obj |
MIME-тип | text/plain |
Разработчик | Wavefront Technologies |
Тип формата | 3D model format |
OBJ — это формат файлов описания геометрии, разработанный в Wavefront Technologies для их анимационного пакета Advanced Visualizer. Формат файла является открытым и был принят другими разработчиками приложений 3D графики и может быть экспортирован/импортирован в e-Frontier's Poser, Maya, XSI, Blender, MeshLab, Misfit Model 3D, 3D Studio Max и Rhinoceros 3D, Hexagon, CATIA, Newtek Lightwave, Art of Illusion, Modo_(программа), Cinema 4D, Zanoza Modeller и т. д. По большей части это общепринятый формат.
Формат файлов OBJ — это простой формат данных, который содержит только 3D геометрию, а именно, позицию каждой вершины, связь координат текстуры с вершиной, нормаль для каждой вершины, а также параметры, которые создают полигоны.
Формат файла
Строки начинающиеся с решётки(#) это комментарии.
# Это комментарий
Obj файл содержит несколько типов определения:
# Список вершин, с координатами (x,y,z[,w]), w является не обязательным и по умолчанию 1.0. v 0.123 0.234 0.345 1.0 v ... ... # Текстурные координаты (u,v[,w]), w является не обязательным и по умолчанию 0. vt 0.500 -1.352 [0.234] vt ... ... # Нормали (x,y,z); нормали могут быть не нормированными. . vn 0.707 0.000 0.707 vn ... ... # Параметры вершин в пространстве ( u [,v] [,w] ); свободная форма геометрического состояния ( смотри ниже ) vp 0.310000 3.210000 2.100000 vp ... ... # Определения поверхности(сторон) (смотри ниже) f 1 2 3 f 3/1 4/2 5/3 f 6/4/1 3/5/3 7/6/5 f 6//1 3//3 7//5 f ...
Определение сторон
Поверхность определяется в списке вершин, текстурных координат и нормалей. Полигоны такие как квадрат могут быть определены с помощью более 3 вершин/текстурных координат/нормалей.
Вершины
Строка начинающаяся с f представляет собой индекс Поверхности. Каждая сторона может состоять из трех или более вершин.
f v1 v2 v3 v4 ...
Вершины / Текстурные координаты
Наряду с вершинами могут сохраняться соответствующие индексы текстурных координат.
f v1/vt1 v2/vt2 v3/vt3 v4/vt4 ...
Вершины / Текстурные координаты / Нормали
Также допустимо сохранение соответствующие индексы нормалей.
f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 v4/vt4/vn4 ...
Вершины / / Нормали
При отсутствии данных о текстурных координатах допустима запись с пропуском индексов текстур.
f v1//vn1 v2//vn2 v3//vn3 v4//vn4 ...
Библиотека материалов
MTL material format | |
---|---|
Расширение |
..mtl |
MIME-тип | text/plain и model/obj[1] |
Разработчик | Wavefront Technologies |
Тип формата | 3D texture format |
Краткий обзор
OBJ является одним из самых популярных форматов передачи 3-х мерной компьютерной геометрии. Информация о внешнем виде объектов(материалы) передается в файлах-спутниках в формате MTL (Material Library). OBJ при необходимости ссылается на такой файл с помощью директивы:
mtllib [имя внешнего MTL файла]
Введение
MTL является стандартом, установленным компанией Wavefront Technologies. Вся информация представлена в ASCII виде и абсолютно читабельна для человека. Стандарт MTL так же очень популярен и поддерживается большинством пакетов для работы с 3D-графикой.
Информация о простых материалах в файле выглядит следующим образом:
newmtl название_материала1 # Объявление очередного материала # Цвета Ka 1,000 1,000 0,000 # Цвет окружающего освещения (желтый) Kd 1,000 1,000 1,000 # Диффузный цвет (белый) # Параметры отражения Ks 0,000 0,000 0,000 # Цвет зеркального отражения (0;0;0 - выключен) Ns 10,000 # Коэффициент зеркального отражения (от 0 до 1000) # Параметры прозрачности d 0,9 # Прозрачность указывается с помощью директивы d Tr 0,9 # или в других реализациях формата с помощью Tr #Следующий материал newmtl название_материала2 ...
Наличие всех параметров необязательно. При отсутствии какого-либо параметра программа автоматически устанавливает его по умолчанию.
Ссылки
- ↑ Controlled Vocabulary for Dublin Core format