Formát geometrie OBJ | |
---|---|
Rozšíření | .obj |
MIME typ | text/prostý a model/obj [1] |
Vývojář | Wavefront Technologies [d] [2] |
Typ formátu | Formát 3D modelu |
OBJ je formát souboru s popisem geometrie vyvinutý společností Wavefront Technologies pro animační balíček Advanced Visualizer . Formát souboru je otevřený a byl přijat jinými vývojáři 3D grafických aplikací . Lze jej exportovat/importovat do e-Frontier's Poser , Maya , XSI , Blender , MeshLab , Misfit Model 3D , 3D Studio Max a Rhinoceros 3D , Hexagon , CATIA , Newtek Lightwave , Art of Illusion , milkshape , Cinema4 3d , Modo Zanoza Modeller , PC LIRA , Mineways , atd. Z velké části jde o běžný formát.
Formát souboru OBJ je jednoduchý datový formát, který obsahuje pouze 3D geometrii, konkrétně polohu každého vrcholu, vztah souřadnic textury k vrcholu, normálu pro každý vrchol a parametry, které vytvářejí polygony.
Řádky začínající na #jsou komentáře , tzn. nejsou zpracovány a neovlivňují výsledek.
# Toto je komentářFormát OBJ poskytuje několik typů definic:
# Seznam vrcholů se souřadnicemi (x,y,z[,w]), w je nepovinné a výchozí je 1,0. v 0,123 0,234 0,345 1,0 proti... ... # Souřadnice textury (u,v,[w]), w je volitelné a výchozí je 0. # Souřadnici textury v y lze zadat jako 1 - v a v tomto případě x = u vt 0,500 -1,352 [0,234] vt... ... # Normály (x,y,z); normály nemusí být normalizovány . . vn 0,707 0,000 0,707 vn... ... # Parametry vrcholů v prostoru (u [,v] [,w]); volný geometrický stav (viz níže) vp 0,310000 3,210000 2,100000 vp... ... # Definice povrchu (strany) (viz níže) 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... ... # Skupina g Skupina1 ... # Objekt o Objekt1Vrchol je specifikován v řádcích začínajících písmenem v. Za ním následují souřadnice v pořadí x, y, za volitelná součást w. Hodnota wje zodpovědná za tloušťku vrcholu a je vyžadována pro racionální křivky a plochy, není nutné ji nastavovat, výchozí je 1,0. Některé programy podporují specifikaci barev vrcholů podle modelu RGB zadáním hodnot červené, zelené a modré v rozsahu 0 až 1 za souřadnicemi.
Povrch je definován v seznamu vrcholů, souřadnic textury a normál. Polygony jako čtverec lze definovat s více než 3 vrcholy/souřadnicemi textury/normálami.
Řetězec začínající na fje index povrchu. Každá plocha se může skládat ze tří nebo více vrcholů.
f v1 v2 v3 v4 ...Indexování začíná od prvního prvku a ne od nuly, jak je zvykem ve většině programovacích jazyků, a indexování může být i záporné. Záporný index označuje pozici vzhledem k poslednímu prvku (index -1 označuje poslední prvek).
Spolu s vrcholy lze uložit odpovídající indexy souřadnic textury.
f v1/vt1 v2/vt2 v3/vt3 v4/vt4 ...Je také přijatelné uložit odpovídající normální indexy.
f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 v4/vt4/vn4 ...Při absenci údajů o souřadnicích textury je povolen záznam s vynecháním indexu textury.
f v1//vn1 v2//vn2 v3//vn3 v4//vn4 ...Materiálový formát MTL | |
---|---|
Rozšíření | .mtl |
MIME typ | text/prostý a model/obj [1] |
Vývojář | Technologie Wavefront |
Typ formátu | Formát 3D textury |
OBJ je jedním z nejpopulárnějších formátů pro přenos 3D počítačové geometrie. Informace o vzhledu objektů (materiálů) jsou přenášeny v satelitních souborech ve formátu MTL (Material Library). OBJ odkazuje na takový soubor, je-li to nutné, pomocí směrnice:
mtllib [název externího souboru MTL]MTL je standardem společnosti Wavefront Technologies. Všechny informace jsou reprezentovány znaky ASCII (čitelné člověkem). Standard MTL je také velmi populární a je podporován většinou 3D grafických balíčků.
Informace o jednoduchých materiálech v souboru vypadají takto:
newmtl material_name1 # Oznámení dalšího materiálu # Barvy Ka 1,000 1,000 0,000 # Barva okolního světla (žlutá) Kd 1,000 1,000 1,000 # Difuzní barva (bílá) # Možnosti odrazu Ks 0,000 0,000 0,000 # Zrcadlová barva (0;0;0 - vypnuto) Ns 10.000 # Koeficient zrcadlového odrazu (od 0 do 1000) # Možnosti průhlednosti d 0,9 # Průhlednost je specifikována pomocí direktivy d Tr 0.9 # nebo jiné implementace formátu s Tr # Další příspěvek newmtl název_materiálu2 ...Všechny parametry jsou volitelné. Pokud žádný parametr neexistuje, program jej automaticky nastaví jako výchozí.