Soubor .obj: co je OBJ, proč přijde bez textur a jak ho otevřít na Macu
OBJ je textový formát pro 3D sítě, který kolem roku 1990 vytvořila firma Wavefront. Dodnes ho čte i zapisuje skoro každý 3D program a aplikace pro 3D skenování. Barvy a textury ale nenese sám: jsou v samostatném souboru .mtl a v obrázcích, a když se cestou oddělí, model přijde bílý nebo šedý.
Ve zkratce
- Přípona
- .obj, .mtl
- Typ
- Síť trojúhelníků
- Autor
- Wavefront Technologies
- Od roku
- asi 1990
- Norma
- Není to formální norma
- Specifikace
- Wavefront OBJ (Paul Bourke)
- macOS bez aplikace
- Otevře ho a ukáže náhled
Fakta ověřena 4. listopadu 2026
Čitelný text, řádek po řádku
Celý osmistěn v OBJ vypadá takhle:
o octahedron
v 10 0 0
v -10 0 0
v 0 10 0
v 0 -10 0
v 0 0 10
v 0 0 -10
f 5 1 3
f 5 3 2
f 5 2 4
f 5 4 1
f 6 3 1
f 6 2 3
f 6 4 2
f 6 1 4Řádek v je vrchol, f plocha složená z čísel vrcholů. Čísluje se od jedničky a záporné číslo počítá pozpátku od aktuálního řádku. Na rozdíl od STL tu plochy sdílejí společné vrcholy, takže soubor nemusí stejný bod opakovat. Plocha přitom nemusí být trojúhelník: čtyřúhelníky i obecné mnohoúhelníky jsou v pořádku.
Export z Blenderu přidává normály (vn), souřadnice textur (vt), skupiny vyhlazení (s) a hlavně odkaz na soubor s materiály:
# Blender 5.1.0
mtllib cylinder.mtl
o cylinder
v 17.677670 0.000000 17.677670
vn -0.0000 -1.0000 -0.0000
s 0
f 1//1 2//1 3//1Zápis 1//1 znamená vrchol 1 s normálou 1, bez souřadnice textury.
Soubor .mtl a textury: co musí cestovat s OBJ
Barvy a materiály nejsou v OBJ, ale v souboru, který OBJ jmenuje řádkem mtllib. V souboru .mtl je každý materiál pod newmtl, barva pod Kd a textura pod map_Kd jako cesta k obrázku. Model je tedy často tři druhy souborů najednou:
- .obj s geometrií,
- .mtl přesně s tím jménem, které je v řádku
mtllib, - obrázky textur na cestách, které uvádí .mtl, často v podsložce.
Vyzkoušel jsem to s knihovnou Model I/O od Apple. Trojúhelník s Kd 1 0 0 v souboru .mtl se načte červený a textura z podsložky se načte taky. Když .mtl vedle .obj chybí, knihovna vypíše „Unable to find mtl file“ a model je bílý.
Jak snadno se odkaz rozbije, ukazuje testovací sada Preview3D. Soubor 07-mesh.obj vznikl přejmenováním a jeho .mtl se jmenuje 07-mesh.mtl, ale v OBJ pořád stojí mtllib cylinder.mtl. Stačilo přejmenovat jeden soubor. Totéž udělá absolutní cesta k textuře v .mtl, třeba C:\Users\…, na jiném počítači.
Proto OBJ posílejte jako celou složku nebo ZIP. Když potřebujete model s texturami v jednom souboru, uložte ho jako GLB.
Bez jednotek a bez hierarchie
OBJ nemá jednotky. Válec o průměru 54 mm vyexportoval Blender do OBJ jako 54 × 25 × 54 (osa Y míří nahoru), v glTF by stejný válec byl 0,054. Co ta čísla znamenají, program při importu jen odhaduje.
Dál OBJ nemá hierarchii objektů, animace, kamery ani světla. Barvy jednotlivých vrcholů (v x y z r g b) nejsou součástí specifikace. Používají je hlavně skenery a čte je jen část programů, podle Library of Congress například MeshLab, three.js a Náhled na Macu.
Odkud OBJ pochází
OBJ vznikl pro program Advanced Visualizer firmy Wavefront Technologies. Přesný rok neznáme, Library of Congress uvádí „kolem roku 1990“. Popis formátu se dochoval jako příloha manuálu zhruba z roku 1992, popis .mtl z roku 1995. Wavefront se v roce 1995 spojil s firmou Alias a tu v roce 2006 koupil Autodesk. Formát je volně popsaný, ale nikdo ho nespravuje.
Specifikace popisuje i křivky a plochy NURBS a Bézier, které skoro žádný program nečte, a zmiňuje binární variantu .mod, která nikdy nebyla zdokumentovaná.
Jak otevřít OBJ na Macu, iPadu a iPhonu
OBJ macOS zná sám. Náhled ho podle Library of Congress otevírá od OS X 10.11 a na macOS 27 (ověřeno na 27.0.1) ho ukáže i Quick Look a Finder v miniatuře. Protože je OBJ text, může se po změně výchozí aplikace otevřít v TextEditu. Pak ve Finderu zvolte Informace → Otevřít v aplikaci, vyberte Náhled a klikněte na Změnit vše.
Další možnosti:
- [Blender](https://www.blender.org/) a [MeshLab](https://www.meshlab.net/) jsou zdarma a OBJ s materiály otevřou.
- Preview3D, moje aplikace, otevře OBJ na Macu, iPadu, iPhonu i Apple Vision Pro.
Preview3D čte OBJ přes Model I/O. Když soubor nemá normály, dopočítá je, takže model nevyjde plochý nebo černý. V Info o modelu ukáže rozměry v jednotkách souboru a počet trojúhelníků a k tomu kontrolu sítě. Má tři zobrazení s lomovými hranami. Na iPadu a iPhonu model postaví v AR na stůl a přizpůsobí ho jeho velikosti, protože OBJ jednotku nemá.
Převod OBJ na STL
Na Macu se v Preview3D převádí z nabídky Soubor → Exportovat model jako… (⌥⌘E) do STL nebo PLY, bez nahrávání na cizí server. STL zná jen trojúhelníky, takže se čtyřúhelníky a mnohoúhelníky při převodu dělí. Čísla zůstanou stejná, takže velikost si po převodu zkontrolujte ve sliceru. A materiály ani textury STL nepřenese.
Časté otázky
Proč se mi OBJ otevřel bez textur?
Chybí mu soubor .mtl nebo obrázky, nebo nesedí jejich jména a cesty. Mějte .obj, .mtl a textury v jedné složce a zkontrolujte, že mtllib v OBJ jmenuje správný .mtl.
Co je soubor .mtl?
Textový soubor s materiály pro OBJ: barvy, lesk a cesty k texturám. OBJ na něj odkazuje jménem.
Má OBJ jednotky?
Nemá. Souřadnice jsou jen čísla a program při importu odhaduje, jestli jde o milimetry, nebo metry.
Je lepší pro 3D tisk STL, nebo OBJ?
Pro tisk jednobarevného dílu stačí STL. OBJ se hodí, když potřebujete materiály a textury. Pro barevný tisk je určený 3MF.
Otevře Mac OBJ bez další aplikace?
Ano, Náhled a Quick Look ho umí.
Proč se OBJ otevírá v TextEditu?
OBJ je text a výchozí aplikace pro něj se mohla změnit. Ve Finderu zvolte Informace → Otevřít v aplikaci, vyberte Náhled nebo jiný 3D prohlížeč a klikněte na Změnit vše.
Související stránky
- Soubor .stl – formát pro tisk, do kterého se OBJ nejčastěji převádí
- Soubory .gltf a .glb – model s texturami v jednom souboru
- Soubor .fbx – celé scény včetně animací
Zdroje
- Library of Congress: OBJ – historie, barvy vrcholů, podpora v Náhledu
- Paul Bourke: popis formátu OBJ a MTL
- IANA: model/obj
- Apple: Model I/O)
- Blender Artists: soubory .mtl se nenačtou
- three.js: textury se nenačtou přes OBJLoader a MTLLoader
Máte OBJ, který vám na Macu přišel bez textur, i když .mtl ležel vedle? Napište mi na apps@xfanta.com, z jakého programu byl.
Otevřete ho v Preview3D
STEP, 3MF, STL, G-code, BGCODE a další na Macu, iPadu, iPhonu i Vision Pro. Jeden nákup, bez účtu, bez připojení k internetu.
Preview3D v App Store