Cos'è un file .obj? Perché arriva senza texture e come aprirlo sul Mac
OBJ è un formato di testo per mesh 3D creato da Wavefront intorno al 1990. Quasi ogni programma 3D e app di scansione 3D lo legge e lo scrive ancora. Colori e texture, però, non li contiene: stanno in un file .mtl separato e in immagini, e quando questi si separano lungo la strada, il modello arriva bianco o grigio.
In breve
- Estensione
- .obj, .mtl
- Tipo
- Mesh di triangoli
- Creato da
- Wavefront Technologies
- Dal
- circa 1990
- Standard
- Non è uno standard formale
- Specifica
- Wavefront OBJ (Paul Bourke)
- macOS senza app
- Lo apre e ne mostra le anteprime
Informazioni verificate il 4 novembre 2026
Testo leggibile, riga per riga
Un intero ottaedro in OBJ appare così:
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 4Una riga v è un vertice, una riga f una faccia fatta di numeri di vertici. Si conta da uno, e un numero negativo conta all'indietro dalla riga corrente. A differenza di STL, qui le facce condividono i vertici, quindi il file non ripete lo stesso punto. E una faccia non deve per forza essere un triangolo: vanno bene anche quadrilateri e poligoni generici.
Un'esportazione da Blender aggiunge le normali (vn), le coordinate di texture (vt), i gruppi di smoothing (s) e, soprattutto, un riferimento al file dei materiali:
# 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 significa vertice 1 con normale 1, e nessuna coordinata di texture.
Il file .mtl e le texture: cosa deve viaggiare con un OBJ
Colori e materiali non sono nell'OBJ ma in un file che l'OBJ nomina nella sua riga mtllib. Nel .mtl ogni materiale sta sotto newmtl, il suo colore sotto Kd e la sua texture sotto map_Kd, come percorso di un'immagine. Così un modello è spesso tre tipi di file insieme:
- l'.obj con la geometria,
- il .mtl, con esattamente il nome indicato nella riga
mtllib, - le immagini delle texture ai percorsi indicati dal .mtl, spesso in una sottocartella.
L'ho provato con il framework Model I/O di Apple. Un triangolo con Kd 1 0 0 nel suo .mtl si carica rosso, e si carica anche una texture da una sottocartella. Quando il .mtl non è accanto al .obj, il framework segnala «Unable to find mtl file» e il modello è bianco.
Quanto facilmente si spezzi il collegamento lo mostra il set di prova di Preview3D stesso. Il file 07-mesh.obj è stato rinominato e il suo .mtl si chiama 07-mesh.mtl, ma l'OBJ dice ancora mtllib cylinder.mtl. È bastato rinominare un file. Un percorso assoluto della texture nel .mtl, come C:\Users\…, fa lo stesso su un altro computer.
Quindi invia un OBJ come cartella intera o come ZIP. Se ti serve un modello con le texture in un solo file, salvalo come GLB.
Niente unità, niente gerarchia
OBJ non ha unità. Blender ha esportato un cilindro di 54 mm di diametro come 54 × 25 × 54 (con l'asse Y verso l'alto); in glTF lo stesso cilindro sarebbe 0,054. Cosa significano i numeri, un programma può solo indovinarlo all'importazione.
OBJ non ha nemmeno gerarchia di oggetti, animazioni, telecamere o luci. I colori per vertice (v x y z r g b) non fanno parte della specifica. Li usano soprattutto gli scanner, e solo alcuni programmi li leggono – secondo la Library of Congress, per esempio MeshLab, three.js e Anteprima sul Mac.
Da dove viene OBJ
OBJ è stato creato per l'Advanced Visualizer di Wavefront Technologies. Nessuno conosce l'anno esatto; la Library of Congress dice «intorno al 1990». La descrizione sopravvive come appendice di un manuale del 1992 circa, quella del .mtl del 1995. Wavefront si è fusa con Alias nel 1995, e Autodesk ha acquistato Alias nel 2006. Il formato è descritto apertamente, ma nessuno lo mantiene.
La specifica descrive anche curve e superfici NURBS e di Bézier che quasi nessun programma legge, e menziona una variante binaria .mod mai documentata.
Come aprire OBJ su Mac, iPad e iPhone
macOS conosce OBJ da sé. Secondo la Library of Congress, Anteprima lo apre da OS X 10.11, e su macOS 27 (verificato sulla 27.0.1) lo mostrano anche Quick Look e le miniature del Finder. Poiché OBJ è testo, può aprirsi in TextEdit se l'app predefinita è cambiata. In quel caso, nel Finder scegli Ottieni informazioni → Apri con, seleziona Anteprima e fai clic su Modifica tutti.
Altre opzioni:
- Blender e MeshLab sono gratuiti e aprono OBJ con i suoi materiali.
- Preview3D, la mia app, apre OBJ su Mac, iPad, iPhone e Apple Vision Pro.
Preview3D legge OBJ tramite Model I/O. Quando un file non ha normali, le calcola, così il modello non esce piatto o nero. Info modello mostra le dimensioni nelle unità del file e il numero di triangoli, con un controllo della mesh. Ci sono tre viste con gli spigoli vivi. Su iPad e iPhone mette il modello sulla tua scrivania in AR, adattato alla scrivania, perché OBJ non ha unità.
Convertire OBJ in STL
Sul Mac, Preview3D converte da File → Esporta modello come… (⌥⌘E) in STL o PLY, senza caricare nulla online. STL conosce solo triangoli, quindi quadrilateri e poligoni vengono divisi lungo la strada. I numeri restano gli stessi, quindi dopo la conversione controlla le dimensioni nello slicer. E STL non contiene materiali né texture.
Domande frequenti
Perché il mio OBJ si è aperto senza texture?
Mancano il suo .mtl o le immagini, oppure i loro nomi e percorsi non corrispondono. Tieni il .obj, il .mtl e le texture in un'unica cartella, e controlla che mtllib nell'OBJ nomini il .mtl giusto.
Cos'è un file .mtl?
Un file di testo con i materiali di un OBJ: colori, lucentezza e percorsi delle texture. L'OBJ vi fa riferimento per nome.
OBJ ha unità?
No. Le coordinate sono solo numeri, e un programma indovina all'importazione se sono millimetri o metri.
Per la stampa 3D è meglio STL o OBJ?
Per un pezzo di un solo colore basta STL. OBJ è utile quando ti servono materiali e texture. Per la stampa a colori, 3MF è il formato fatto apposta.
Il Mac apre OBJ senza un'altra app?
Sì, Anteprima e Quick Look lo gestiscono.
Perché il mio OBJ si apre in TextEdit?
OBJ è testo, e la sua app predefinita potrebbe essere cambiata. Nel Finder scegli Ottieni informazioni → Apri con, seleziona Anteprima o un altro visualizzatore 3D e fai clic su Modifica tutti.
Pagine correlate
- Il file .stl – il formato di stampa in cui OBJ viene convertito più spesso
- I file .gltf e .glb – un modello con le sue texture in un solo file
- Il file .fbx – scene intere, animazioni comprese
Fonti
- Library of Congress: OBJ – storia, colori per vertice, supporto in Anteprima
- Paul Bourke: il formato OBJ e MTL
- IANA: model/obj
- Apple: Model I/O
- Blender Artists: i file .mtl non si caricano
- three.js: texture che non si caricano con OBJLoader e MTLLoader
Hai un OBJ arrivato sul tuo Mac senza texture, anche se il .mtl era proprio lì accanto? Scrivimi a apps@xfanta.com dicendomi da quale programma proveniva.
Aprilo in Preview3D
STEP, 3MF, STL, G-code, BGCODE e altro su Mac, iPad, iPhone e Vision Pro. Un solo acquisto, nessun account, nessuna rete.
Preview3D sull'App Store