Che cos'è il formato di file OBJ?
Il formato di file .obj viene utilizzato per memorizzare oggetti 3D creati con vari software di progettazione ed editing. Ogni file .obj può contenere dati come coordinate dei vertici, normali di superficie, coordinate delle texture UV e riferimenti a file immagine di texture esterni. I file .obj non contengono dati relativi all'ambiente dell'oggetto - non sono presenti informazioni su illuminazione, telecamere o gerarchia della scena. Il formato è stato sviluppato da Wavefront Technologies, originariamente progettato come file di archiviazione per la loro applicazione Advanced Visualizer.
Compatibilità dei file OBJ e MTL
I file .obj contengono quasi sempre riferimenti a file .mtl complementari, che descrivono il materiale di ombreggiatura della superficie di ogni oggetto e i relativi dati. Ogni file .obj può fare riferimento a uno o più file .mtl; senza di essi, le mesh vengono renderizzate come geometria non ombreggiata.
Applicazioni del formato OBJ
.obj è un formato aperto ampiamente supportato ed è considerato uno standard de facto per l'interscambio di oggetti 3D. Poiché si tratta di testo ASCII semplice, i file .obj sono leggibili dall'uomo e facili da analizzare, motivo per cui essenzialmente tutti i software CAD e di editing 3D forniscono strumenti per l'importazione e l'esportazione di dati in questo formato. Negli ultimi anni, con la crescita della tecnologia di stampa 3D, .obj ha guadagnato ulteriore popolarità - in particolare come formato d'elezione per i flussi di lavoro di stampa multicolore e multimateriale. Viene comunemente utilizzato insieme a .stl e .ply nelle pipeline di produzione additiva, e sempre più spesso come formato sorgente per la conversione in formati di interscambio moderni come .gltf.
Sicurezza e incolumità
RISCHIO: LOWUn file OBJ contiene dati geometrici in testo semplice - non contiene codice eseguibile e non può avviare nulla, quindi aprirlo è sicuro. Gli unici inconvenienti pratici non sono malevoli: mesh molto grandi o con molti poligoni (ad esempio scansioni 3D) possono essere lente da caricare, e un OBJ con texture necessita del suo file .mtl e delle immagini associate, altrimenti appare grigio. Come sempre, fidati dell'estensione solo dopo averla verificata - un file che finge di essere «modello.obj» ma è in realtà un eseguibile rappresenta il vero rischio, non il formato OBJ in sé.
Dettagli del formato
in sintesi- File oggetto COFF (.obj) - Un file oggetto compilato prodotto come intermedio di build dai compilatori C/C++, non correlato al formato del modello 3D.
Programmi che aprono file OBJ
Dettagli tecnici
specifiche approfondite| Codifica del file | Testo ASCII semplice; compatibile con UTF-8, nessuna sezione binaria |
| Firma del file (magic bytes) | Nessuna - identificato dai token a inizio riga: `v ` (vertice), `vt ` (coord. UV), `vn ` (normale), `f ` (faccia), `mtllib` |
| Tipo MIME | `model/obj` |
| Sistema di coordinate | Mano destra; asse Y verso l'alto per convenzione (alcuni esportatori usano l'asse Z) |
| Primitive geometriche | Vertici (`v`), coordinate texture UV (`vt`), normali (`vn`), facce (`f`), linee (`l`), punti (`p`) |
| Tipi di poligoni | Triangoli, quadrilateri e n-goni arbitrari (poligoni con qualsiasi numero di vertici per faccia) |
| Base degli indici | Indici interi basati su 1; valori negativi consentiti come riferimenti relativi (inversi) |
| Riferimenti ai materiali | File `.mtl` esterni dichiarati con `mtllib`; applicati per gruppo di mesh tramite `usemtl` |
| Struttura oggetti/gruppi | Oggetti nominati (parola chiave `o`) e gruppi (parola chiave `g`) consentono mesh multi-parte in un singolo file |
| Mappatura texture | Coordinate UV memorizzate come voci `vt`; percorsi dei file immagine texture definiti nel file `.mtl` associato |
| Geometria a forma libera | Curve NURBS opzionali e superfici B-spline tramite parole chiave `curv` / `surf` - raramente implementate nella pratica |
| Supporto animazione | Nessuno - solo geometria statica; l'animazione richiede formati esterni (FBX, glTF) |
| Dati della scena | Nessuna illuminazione, telecamere o gerarchia della scena; il formato memorizza solo la geometria |
| Compressione | Testo semplice non compresso; i file si comprimono efficacemente con ZIP o gzip |
| Idoneità alla stampa 3D | Ampiamente accettato dai software slicer; preferito a STL per la stampa FDM multicolore/multimateriale |
| Interoperabilità | Supportato nativamente da Blender, Autodesk Maya, Cinema 4D, ZBrush, SolidWorks e dalla maggior parte degli strumenti CAD/DCC |
| Rilasciato | Late 1980s (Wavefront Technologies, for The Advanced Visualizer) |
| Standard aperto | Sì · royalty-free |
| Specifica | paulbourke.net |