Was ist eine .obj-Datei? Fehlende Texturen und Öffnen am Mac
OBJ ist ein Textformat für 3D-Netze, das Wavefront um 1990 entwickelt hat. Fast jedes 3D-Programm und jede 3D-Scan-App liest und schreibt es bis heute. Farben und Texturen trägt es allerdings nicht selbst: Sie liegen in einer separaten .mtl-Datei und in Bildern, und werden sie unterwegs davon getrennt, kommt das Modell weiß oder grau an.
Auf einen Blick
- Endung
- .obj, .mtl
- Typ
- Dreiecksnetz
- Entwickelt von
- Wavefront Technologies
- Seit
- etwa 1990
- Standard
- Kein formaler Standard
- Spezifikation
- Wavefront OBJ (Paul Bourke)
- macOS ohne App
- Öffnet es und zeigt Vorschauen
Fakten geprüft: 4. November 2026
Lesbarer Text, Zeile für Zeile
Ein ganzes Oktaeder sieht in OBJ so aus:
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 4Eine v-Zeile ist ein Eckpunkt, eine f-Zeile eine Fläche aus Nummern von Eckpunkten. Gezählt wird ab eins, und eine negative Zahl zählt von der aktuellen Zeile rückwärts. Anders als bei STL teilen sich die Flächen hier Eckpunkte, die Datei wiederholt denselben Punkt also nicht. Eine Fläche muss auch kein Dreieck sein: Vierecke und allgemeine Polygone sind erlaubt.
Ein Export aus Blender ergänzt Normalen (vn), Texturkoordinaten (vt), Glättungsgruppen (s) und vor allem einen Verweis auf die Materialdatei:
# 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//11//1 heißt Eckpunkt 1 mit Normale 1, ohne Texturkoordinate.
Die .mtl-Datei und Texturen: was mit einem OBJ mitreisen muss
Farben und Materialien stehen nicht im OBJ, sondern in einer Datei, die das OBJ in seiner Zeile mtllib nennt. In der .mtl-Datei steht jedes Material unter newmtl, seine Farbe unter Kd und seine Textur unter map_Kd als Pfad zu einem Bild. Ein Modell besteht deshalb oft aus drei Arten von Dateien zugleich:
- der .obj-Datei mit der Geometrie,
- der .mtl-Datei, genau mit dem Namen aus der Zeile
mtllib, - den Texturbildern unter den Pfaden, die die .mtl-Datei angibt, oft in einem Unterordner.
Ich habe es mit dem Framework Model I/O von Apple ausprobiert. Ein Dreieck mit Kd 1 0 0 in seiner .mtl-Datei lädt rot, und auch eine Textur aus einem Unterordner wird geladen. Liegt die .mtl-Datei nicht neben der .obj-Datei, meldet das Framework „Unable to find mtl file“, und das Modell ist weiß.
Wie leicht die Verbindung reißt, zeigt die Testsammlung von Preview3D selbst. Die Datei 07-mesh.obj wurde umbenannt, und ihre .mtl-Datei heißt 07-mesh.mtl, aber im OBJ steht noch mtllib cylinder.mtl. Eine einzige umbenannte Datei hat gereicht. Ein absoluter Texturpfad in der .mtl-Datei, etwa C:\Users\…, bewirkt auf einem anderen Computer dasselbe.
Schick ein OBJ deshalb als ganzen Ordner oder als ZIP. Brauchst du ein Modell mit seinen Texturen in einer Datei, speichere es als GLB.
Keine Einheiten, keine Hierarchie
OBJ hat keine Einheiten. Blender hat einen Zylinder mit 54 mm Durchmesser als 54 × 25 × 54 exportiert (mit der Y-Achse nach oben); in glTF wäre derselbe Zylinder 0,054. Was die Zahlen bedeuten, kann ein Programm beim Import nur raten.
OBJ hat auch keine Objekthierarchie, keine Animation, keine Kameras und keine Lichter. Farben pro Eckpunkt (v x y z r g b) gehören nicht zur Spezifikation. Scanner verwenden sie am häufigsten, und nur manche Programme lesen sie – laut Library of Congress etwa MeshLab, three.js und Vorschau auf dem Mac.
Woher OBJ kommt
OBJ entstand für den Advanced Visualizer von Wavefront Technologies. Das genaue Jahr kennt niemand; die Library of Congress schreibt „um 1990“. Die Beschreibung ist als Anhang eines Handbuchs von etwa 1992 erhalten, die Beschreibung von .mtl von 1995. Wavefront fusionierte 1995 mit Alias, und Autodesk kaufte Alias 2006. Das Format ist offen beschrieben, aber niemand pflegt es.
Die Spezifikation beschreibt auch NURBS- und Bézier-Kurven und -Flächen, die kaum ein Programm liest, und erwähnt eine binäre Variante .mod, die nie dokumentiert wurde.
So öffnest du OBJ auf Mac, iPad und iPhone
macOS kennt OBJ von sich aus. Laut Library of Congress öffnet Vorschau es seit OS X 10.11, und unter macOS 27 (geprüft mit 27.0.1) zeigen es auch Quick Look und die Miniaturen im Finder. Weil OBJ Text ist, öffnet es sich womöglich in TextEdit, wenn sich die Standard-App geändert hat. Dann wähle im Finder Informationen → Öffnen mit, nimm Vorschau und klick auf Alle ändern.
Weitere Möglichkeiten:
- Blender und MeshLab sind kostenlos und öffnen OBJ mit seinen Materialien.
- Preview3D, meine App, öffnet OBJ auf Mac, iPad, iPhone und Apple Vision Pro.
Preview3D liest OBJ über Model I/O. Hat eine Datei keine Normalen, berechnet es sie, damit das Modell nicht flach oder schwarz herauskommt. Die Modellinfo zeigt die Abmessungen in den Einheiten der Datei und die Zahl der Dreiecke, mit Netzprüfung. Es gibt drei Ansichten mit Knickkanten. Auf iPad und iPhone stellt es das Modell in AR auf deinen Tisch, passend auf den Tisch skaliert, weil OBJ keine Einheit hat.
OBJ in STL umwandeln
Auf dem Mac wandelt Preview3D über Ablage → Modell exportieren als… (⌥⌘E) in STL oder PLY um, ohne etwas hochzuladen. STL kennt nur Dreiecke, deshalb werden Vierecke und Polygone unterwegs geteilt. Die Zahlen bleiben gleich, prüf also nach dem Umwandeln die Größe im Slicer. Und STL trägt keine Materialien oder Texturen.
Häufige Fragen
Warum hat sich mein OBJ ohne Texturen geöffnet?
Seine .mtl-Datei oder seine Bilder fehlen, oder ihre Namen und Pfade passen nicht. Halte die .obj-Datei, die .mtl-Datei und die Texturen in einem Ordner und prüf, ob mtllib im OBJ die richtige .mtl-Datei nennt.
Was ist eine .mtl-Datei?
Eine Textdatei mit Materialien für ein OBJ: Farben, Glanz und Pfade zu Texturen. Das OBJ verweist über ihren Namen auf sie.
Hat OBJ Einheiten?
Nein. Die Koordinaten sind nur Zahlen, und ein Programm rät beim Import, ob es Millimeter oder Meter sind.
Ist STL oder OBJ besser für den 3D-Druck?
Für ein einfarbiges Teil reicht STL. OBJ ist nützlich, wenn du Materialien und Texturen brauchst. Für den Farbdruck ist 3MF das Format, das dafür gemacht ist.
Öffnet ein Mac OBJ ohne weitere App?
Ja, Vorschau und Quick Look kommen damit zurecht.
Warum öffnet sich mein OBJ in TextEdit?
OBJ ist Text, und seine Standard-App hat sich womöglich geändert. Wähle im Finder Informationen → Öffnen mit, nimm Vorschau oder einen anderen 3D-Viewer und klick auf Alle ändern.
Verwandte Seiten
- Die .stl-Datei – das Druckformat, in das OBJ am häufigsten umgewandelt wird
- Die .gltf- und .glb-Dateien – ein Modell mit seinen Texturen in einer Datei
- Die .fbx-Datei – ganze Szenen, Animation eingeschlossen
Quellen
- Library of Congress: OBJ – Geschichte, Farben pro Eckpunkt, Unterstützung in Vorschau
- Paul Bourke: das OBJ-Format und MTL
- IANA: model/obj
- Apple: Model I/O
- Blender Artists: .mtl-Dateien werden nicht geladen
- three.js: Texturen laden nicht mit OBJLoader und MTLLoader
Hast du ein OBJ, das ohne Texturen auf deinem Mac ankam, obwohl die .mtl-Datei direkt daneben lag? Schreib mir an apps@xfanta.com, aus welchem Programm es stammt.
In Preview3D öffnen
STEP, 3MF, STL, G-Code, BGCODE und mehr auf Mac, iPad, iPhone und Vision Pro. Ein Kauf, kein Konto, kein Netzwerk.
Preview3D im App Store