Кіріспе

Геометрияны анықтау файл форматы

OBJ (немесе OBJ) – Wavefront Technologies компаниясы өздерінің Advanced Visualizer анимациялық пакеті үшін алғаш рет әзірлеген геометрияны анықтайтын файл форматы. Файл форматы ашық және басқа 3D графикалық қолданбалар өндірушілері тарапынан қабылданып алынған. OBJ файл форматы – 3D геометрияны ғана көрсететін қарапайым деректер форматы, атап айтқанда, әрбір төбе нүктесінің орны, әрбір текстура координатасының UV-позициясы, төбе нормальдары және әрбір көпбұрышты төбе нүктелері мен текстура нүктелерінің тізімі ретінде анықтайтын жақтары. Төбе нүктелері әдетте сағат тіліне қарсы бағытта сақталады, бұл жақ нормальдарын нақты түрде жариялау қажеттілігін жояды. OBJ координаталарында өлшем бірліктері жоқ, бірақ OBJ файлдарында адам оқи алатын түсініктеме жолында масштаб туралы ақпарат болуы мүмкін.

Геометриялық ұшы

Толықсыздама v әріпімен басталатын жол арқылы беріледі. Одан кейін (x,y,z[,w]) координаттары келеді. W міндетті емес және әдепкі бойынша 1.0-қа тең. Координаттардың орналасуын анықтау үшін оң жақ координаттық жүйе қолданылады. Кейбір қолданбалар төс түстерін қолдайды, олар үшін қызыл, жасыл және көк мәндерін x, y және z координаталарынан кейін жазу керек (бұл жағдайда w координатын көрсету мүмкін емес). Түс мәндері 0-ден 1-ге дейін өзгереді.

Параметр кеңістігінің түбірлері

Геометрияның еркін пішіні vp жолымен басталатын мәлімдеме арқылы берілуі мүмкін. Бұрыштық немесе беттің параметрлік кеңістігіндегі нүктелерді анықтаңыз. Қисық нүктелері үшін тек u, ал бет нүктелері мен рационалды емес кесу қисықтарының бақылау нүктелері үшін u және v, рационалды кесу қисықтарының бақылау нүктелері үшін u, v және w (салмақ) қажет.

Бет элементтері

Беттер нүкте, текстура және нормаль индекстерінің тізімдері арқылы анықталады, форматталуы – нүкте индексі/текстура индексі/нормаль индексі. Әр индекс 1-ден басталады және сілтеме жасалған элементтің анықталу ретіне сәйкес артады. Төртбұрыштар сияқты көпбұрыштар үштен көп индекстерді пайдалану арқылы анықталуы мүмкін. OBJ файлдары сондай-ақ, нысандарды анықтау үшін қисықтар мен беттерді қолданатын, NURBS беттері сияқты еркін пішінді геометрияны қолдайды.

Басты индекстер

Дұрыс төбе индексі бұрын анықталған төбе тізімінің сәйкес төбе элементтерімен сәйкес келеді. Егер индекс оң болса, онда ол 1-ден басталатын сол тізімдегі ығысуды білдіреді. Егер индекс теріс болса, онда ол төбе тізімінің соңына қатысты, 1 – соңғы элементке қатысты. Әрбір жақ үш немесе одан көп төбеден тұруы мүмкін. f v1 v2 v3

Сызық элементтері

"l" (кіші әріпті l) әрпімен басталатын жазбалар полилиния құрастыратын төбелердің ретін көрсетеді. l v1 v2 v3 v4 v5 v6

Басқа геометриялық форматтар

Obj файлдары Тейлор және B сплайндары сияқты әртүрлі интерполяция түрлерін пайдалана отырып, жоғары ретті беттерді қолдайды, бірақ үшінші тарап файл оқырмандарының көпшілігінде осы мүмкіндіктерге қолдау толыққанды емес. Obj файлдары тор иерархияларын, сондай-ақ анимацияны немесе деформацияны, мысалы, төбелік қаңқа жасауды (vertex skinning) немесе торды өзгертуді (mesh morphing) де қолдамайды.

Салыстырмалы және абсолютті индекстер

OBJ файлдары тізімдік құрылымының арқасында төбелерді, нормальдарды және т.б. абсолютті орналасуы бойынша (1 – бірінші анықталған төбе, N – N-ші анықталған төбе) немесе салыстырмалы орналасуы бойынша (1 – соңғы анықталған төбе) сілтеуге мүмкіндік береді. Дегенмен, барлық бағдарламалық құралдар екінші тәсілді қолдамайды, ал кейбіреулері керісінше, тек салыстырмалы формада ғана жазады (элементтерді қайта есептеусіз қосудың ыңғайлылығы себепті, және т.б.), бұл кейде үйлесімсіздіктерге алып келеді.

Материал үлгілер жинағы

Material Template Library (MTL) форматы немесе Файл форматы – Wavefront Technologies компаниясы анықтаған, OBJ файлына қоса жүретін формат, ол бір немесе бірнеше OBJ файлдарындағы объектілердің беткі жабынының (материалдық) қасиеттерін сипаттайды. OBJ файлы бір немесе бірнеше файлға сілтеме жасайды ("материалдық кітапханалар" деп аталады), ал олар арқылы материалдық сипаттамалар атау бойынша шақырылады. Бұл файлдар – компьютерлік рендеринг және Phong шағылысу моделіне сәйкес, беттің жарықты шағылыстыру қасиеттерін анықтайтын ASCII мәтіні. Стандарт әртүрлі компьютерлік бағдарламалық қамтамасыз ету пакеттерінде кеңінен қолданылады, бұл оны материалдарды алмасу үшін тиімді форматқа айналдырады. MTL форматы әлі де жиі қолданылса да, ол ескірген және спекулярлық карталар мен параллакс карталары сияқты жаңа технологияларды толыққанды қолдамайды. Дегенмен, форматтың ашық және түсінікті болуына байланысты, оларды арнайы MTL файл генераторы арқылы оңай қосуға болады. MTL форматы бірнеше форматтарды анықтайды.

Сатушыға тән өзгерістер

Файлдарды талдаудың қарапайымдылығы және файл форматының ресми емес таралуы салдарынан, файлдарда сатушыға тән өзгертулер кездесуі мүмкін. Техникалық талаптарға сәйкес, опциялар текстура файл атынан бұрын келуі тиіс. Дегенмен, кем дегенде бір сатушы опцияларды соңына қойып файлдар жасайды. # 0,2 көбейткіш бумп texbump.tga bm 0,2