OBJ форматы – 3D графика үшін кең таралған файл пішімі. Төбелер, текстура координаттары, нормальдар мен көпбұрыштарды сақтайды. Wavefront Technologies әзірлеген.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Геометрияны анықтау файл форматы
Geometry definition file format
OBJ (немесе OBJ) – Wavefront Technologies компаниясы өздерінің Advanced Visualizer анимациялық пакеті үшін алғаш рет әзірлеген геометрияны анықтайтын файл форматы. Файл форматы ашық және басқа 3D графикалық қолданбалар өндірушілері тарапынан қабылданып алынған. OBJ файл форматы – 3D геометрияны ғана көрсететін қарапайым деректер форматы, атап айтқанда, әрбір төбе нүктесінің орны, әрбір текстура координатасының UV-позициясы, төбе нормальдары және әрбір көпбұрышты төбе нүктелері мен текстура нүктелерінің тізімі ретінде анықтайтын жақтары. Төбе нүктелері әдетте сағат тіліне қарсы бағытта сақталады, бұл жақ нормальдарын нақты түрде жариялау қажеттілігін жояды. OBJ координаталарында өлшем бірліктері жоқ, бірақ OBJ файлдарында адам оқи алатын түсініктеме жолында масштаб туралы ақпарат болуы мүмкін.
OBJ (or OBJ) is a geometry definition file format first developed by Wavefront Technologies for its Advanced Visualizer animation package. The file format is open and has been adopted by other 3D graphics application vendors. The OBJ file format is a simple data format that represents 3D geometry alone — namely, the position of each vertex, the UV position of each texture coordinate vertex, vertex normals, and the faces that make each polygon defined as a list of vertices, and texture vertices. Vertices are stored in a counter clockwise order by default, making explicit declaration of face normals unnecessary. OBJ coordinates have no units, but OBJ files can contain scale information in a human readable comment line.
Геометриялық ұшы
Толықсыздама v әріпімен басталатын жол арқылы беріледі. Одан кейін (x,y,z[,w]) координаттары келеді. W міндетті емес және әдепкі бойынша 1.0-қа тең. Координаттардың орналасуын анықтау үшін оң жақ координаттық жүйе қолданылады. Кейбір қолданбалар төс түстерін қолдайды, олар үшін қызыл, жасыл және көк мәндерін x, y және z координаталарынан кейін жазу керек (бұл жағдайда w координатын көрсету мүмкін емес). Түс мәндері 0-ден 1-ге дейін өзгереді.
A vertex is specified via a line starting with the letter v. That is followed by (x,y,z[,w]) coordinates. W is optional and defaults to 1.0. A right hand coordinate system is used to specify the coordinate locations. Some applications support vertex colors, by putting red, green and blue values after x y and z (this precludes specifying w). The color values range from 0 to 1.
Параметр кеңістігінің түбірлері
Геометрияның еркін пішіні vp жолымен басталатын мәлімдеме арқылы берілуі мүмкін. Бұрыштық немесе беттің параметрлік кеңістігіндегі нүктелерді анықтаңыз. Қисық нүктелері үшін тек u, ал бет нүктелері мен рационалды емес кесу қисықтарының бақылау нүктелері үшін u және v, рационалды кесу қисықтарының бақылау нүктелері үшін u, v және w (салмақ) қажет.
A free form geometry statement can be specified in a line starting with the string vp. Define points in parameter space of a curve or surface. u only is required for curve points, u and v for surface points and control points of non rational trimming curves, and u, v and w (weight) for control points of rational trimming curves.
Бет элементтері
Беттер нүкте, текстура және нормаль индекстерінің тізімдері арқылы анықталады, форматталуы – нүкте индексі/текстура индексі/нормаль индексі. Әр индекс 1-ден басталады және сілтеме жасалған элементтің анықталу ретіне сәйкес артады. Төртбұрыштар сияқты көпбұрыштар үштен көп индекстерді пайдалану арқылы анықталуы мүмкін. OBJ файлдары сондай-ақ, нысандарды анықтау үшін қисықтар мен беттерді қолданатын, NURBS беттері сияқты еркін пішінді геометрияны қолдайды.
Faces are defined using lists of vertex, texture and normal indices in the format vertex index/texture index/normal index for which each index starts at 1 and increases corresponding to the order in which the referenced element was defined. Polygons such as quadrilaterals can be defined by using more than three indices. OBJ files also support free form geometry which use curves and surfaces to define objects, such as NURBS surfaces.
Басты индекстер
Дұрыс төбе индексі бұрын анықталған төбе тізімінің сәйкес төбе элементтерімен сәйкес келеді. Егер индекс оң болса, онда ол 1-ден басталатын сол тізімдегі ығысуды білдіреді. Егер индекс теріс болса, онда ол төбе тізімінің соңына қатысты, 1 – соңғы элементке қатысты. Әрбір жақ үш немесе одан көп төбеден тұруы мүмкін. f v1 v2 v3
A valid vertex index matches the corresponding vertex elements of a previously defined vertex list. If an index is positive then it refers to the offset in that vertex list, starting at 1. If an index is negative then it relatively refers to the end of the vertex list, 1 referring to the last element. Each face can contain three or more vertices. f v1 v2 v3
Сызық элементтері
"l" (кіші әріпті l) әрпімен басталатын жазбалар полилиния құрастыратын төбелердің ретін көрсетеді. l v1 v2 v3 v4 v5 v6
Records starting with the letter "l" (lowercase L) specify the order of the vertices which build a polyline. l v1 v2 v3 v4 v5 v6
Басқа геометриялық форматтар
Obj файлдары Тейлор және B сплайндары сияқты әртүрлі интерполяция түрлерін пайдалана отырып, жоғары ретті беттерді қолдайды, бірақ үшінші тарап файл оқырмандарының көпшілігінде осы мүмкіндіктерге қолдау толыққанды емес. Obj файлдары тор иерархияларын, сондай-ақ анимацияны немесе деформацияны, мысалы, төбелік қаңқа жасауды (vertex skinning) немесе торды өзгертуді (mesh morphing) де қолдамайды.
Obj files support higher order surfaces using several different kinds of interpolation, such as Taylor and B splines, although support for those features in third party file readers is far from universal. Obj files also do not support mesh hierarchies or any kind of animation or deformation, such as vertex skinning or mesh morphing.
Салыстырмалы және абсолютті индекстер
OBJ файлдары тізімдік құрылымының арқасында төбелерді, нормальдарды және т.б. абсолютті орналасуы бойынша (1 – бірінші анықталған төбе, N – N-ші анықталған төбе) немесе салыстырмалы орналасуы бойынша (1 – соңғы анықталған төбе) сілтеуге мүмкіндік береді. Дегенмен, барлық бағдарламалық құралдар екінші тәсілді қолдамайды, ал кейбіреулері керісінше, тек салыстырмалы формада ғана жазады (элементтерді қайта есептеусіз қосудың ыңғайлылығы себепті, және т.б.), бұл кейде үйлесімсіздіктерге алып келеді.
OBJ files, due to their list structure, are able to reference vertices, normals, etc. either by their absolute position (1 represents the first defined vertex, N representing the Nth defined vertex), or by their relative position ( 1 represents the latest defined vertex). However, not all software supports the latter approach, and conversely some software inherently writes only the latter form (due to the convenience of appending elements without needing to recalculate vertex offsets, etc. ), leading to occasional incompatibilities.
Материал үлгілер жинағы
Material Template Library (MTL) форматы немесе Файл форматы – Wavefront Technologies компаниясы анықтаған, OBJ файлына қоса жүретін формат, ол бір немесе бірнеше OBJ файлдарындағы объектілердің беткі жабынының (материалдық) қасиеттерін сипаттайды. OBJ файлы бір немесе бірнеше файлға сілтеме жасайды ("материалдық кітапханалар" деп аталады), ал олар арқылы материалдық сипаттамалар атау бойынша шақырылады. Бұл файлдар – компьютерлік рендеринг және Phong шағылысу моделіне сәйкес, беттің жарықты шағылыстыру қасиеттерін анықтайтын ASCII мәтіні. Стандарт әртүрлі компьютерлік бағдарламалық қамтамасыз ету пакеттерінде кеңінен қолданылады, бұл оны материалдарды алмасу үшін тиімді форматқа айналдырады. MTL форматы әлі де жиі қолданылса да, ол ескірген және спекулярлық карталар мен параллакс карталары сияқты жаңа технологияларды толыққанды қолдамайды. Дегенмен, форматтың ашық және түсінікті болуына байланысты, оларды арнайы MTL файл генераторы арқылы оңай қосуға болады. MTL форматы бірнеше форматтарды анықтайды.
The Material Template Library format (MTL) or File Format is a companion file format to OBJ, also defined by Wavefront Technologies, that describes surface shading (material) properties of objects within one or more OBJ files. A OBJ file references one or more files (called "material libraries"), and from there, references one or more material descriptions by name. files are ASCII text that define the light reflecting properties of a surface for the purposes of computer rendering, and according to the Phong reflection model. The standard has widespread support among different computer software packages, making it a useful format for interchange of materials. The MTL format, although still widely used, is outdated and does not fully support later technologies such as specular maps and parallax maps. However, due to the open and intuitive nature of the format, these can easily be added with a custom MTL file generator. The MTL format defines a number of formats.
Сатушыға тән өзгерістер
Файлдарды талдаудың қарапайымдылығы және файл форматының ресми емес таралуы салдарынан, файлдарда сатушыға тән өзгертулер кездесуі мүмкін. Техникалық талаптарға сәйкес, опциялар текстура файл атынан бұрын келуі тиіс. Дегенмен, кем дегенде бір сатушы опцияларды соңына қойып файлдар жасайды. # 0,2 көбейткіш бумп texbump.tga bm 0,2
Because of the ease in parsing the files, and the unofficial spreading of the file format, files may contain vendor specific alterations. According to the spec, options are supposed to precede the texture filename. However, at least one vendor generates files with options at the end. # bump multiplier of 0.2
bump texbump. tga bm 0.2