File OBJ di esempio — Scarica OBJ con MTL e texture per i test

Wavefront OBJ (con libreria di materiali MTL) · .obj, .mtl · tipo MIME model/obj

7 file198 B – 1.7 MBLink direttiSenza pubblicità né registrazioneGratis per qualsiasi usoVerificati con SHA-256

Scarica un file OBJ di esempio per testare un importatore OBJ, un visualizzatore o un flusso di caricamento che deve gestire un modello insieme ai suoi file associati. L'esempio con texture è il classico set di tre file — sample-model-textured.obj, la sua libreria di materiali .mtl e una texture PNG a griglia UV — disponibile sia come file separati (nella stessa cartella, così i percorsi relativi si risolvono quando li carichi da un URL) sia raccolti in un unico ZIP.

Gli altri file isolano le varianti che i parser sbagliano più spesso: un OBJ con normali e UV ma senza libreria di materiali, un file da 51.200 triangoli con le sole posizioni e un file non triangolato di quad, pentagoni ed esagoni. Posizioni, coordinate texture e normali usano flussi di indici separati (f v/vt/vn), come li scrivono gli esportatori reali, anziché un solo indice per vertice.

Anteprima renderizzata del modello OBJ di esempio
Render statico di un esempio di questa pagina, con ombreggiatura piatta generata dal nostro generatore. Apri i file scaricati in un qualsiasi visualizzatore OBJ per esaminarli in 3D.

Scarica file OBJ di esempio

FileDettagliDimensioneScarica
sample-model-textured.mtl
Libreria di materiali MTL per sample-model-textured.obj
1 materiale198 B
198 byte
Scarica OBJ
sample-quads-and-ngons.obj
128 poligoni: 96 quad, 12 pentagoni, 20 esagoni • non triangolato • 5 KB
128 poligoni · 158 vertici · metri, asse Y verso l'alto5 KB
5434 byte
Scarica OBJ
sample-uv-grid-texture.png
Texture PNG a griglia UV 512 × 512 (map_Kd)
512 × 51237 KB
36.710 byte
Scarica OBJ
sample-model-textured-obj-mtl-png.zip
Pacchetto ZIP: OBJ + MTL + texture PNG • 4.096 triangoli • 120 KB
3 voci · 4096 triangoli · 2048 vertici · normali · UV · 1 materiale · metri, asse Y verso l'alto120 KB
119.864 byte
Scarica OBJ
sample-model-no-mtl.obj
4.096 triangoli • normali + UV • senza libreria di materiali • 336 KB
4096 triangoli · 2048 vertici · normali · UV · metri, asse Y verso l'alto336 KB
336.450 byte
Scarica OBJ
sample-model-textured.obj
4.096 triangoli • normali + UV • fa riferimento all'MTL e al PNG qui sotto • 336 KB
4096 triangoli · 2048 vertici · normali · UV · 1 materiale · metri, asse Y verso l'alto336 KB
336.477 byte
Scarica OBJ
sample-model-positions-only.obj
51.200 triangoli • solo posizioni (senza normali né UV) • 1,7 MB
51.200 triangoli · 25.600 vertici · metri, asse Y verso l'alto1.7 MB
1.729.421 byte
Scarica OBJ
7 file · link diretti · senza registrazione · CORS abilitato

Usa questi file dalla riga di comando o in CI

Ogni URL è stabile e con CORS aperto. Fissa lo SHA-256 nel tuo test e saprai subito quando una fixture cambia.

# Scarica un file
curl -O https://pnb-freetoolsforweb.s3.us-east-2.amazonaws.com/samples/3d/obj/sample-model-textured.mtl

# Verificalo (lo SHA-256 è indicato per ogni file qui sopra)
shasum -a 256 sample-model-textured.mtl

# Indice leggibile da macchina di tutti i file di esempio
curl https://pnb-freetoolsforweb.s3.us-east-2.amazonaws.com/samples/index.json | jq '.files[] | select(.format=="obj")'

Il formato OBJ in breve

Nome completoWavefront OBJ (con libreria di materiali MTL)
Estensioni.obj, .mtl
Tipo MIMEmodel/obj
CodificaTesto semplice (UTF-8), un elemento per riga
FacceTriangoli, quad e n-goni; indici a base 1, indici negativi ammessi
MaterialiFile .mtl esterno (mtllib / usemtl); texture tramite map_Kd
UnitàNessuna nel file — questi esempi sono in metri, con asse Y verso l'alto
Numero di triangoliDa 308 (equivalenti) a 51.200

Cosa si testa con i file OBJ di esempio

  • Caricamento di OBJ + MTL + texture con percorsi relativi
  • Accettare un modello come ZIP con i file associati
  • Gestione di una libreria di materiali mancante o facoltativa
  • Triangolazione di quad e n-goni in fase di importazione
  • Flussi di indici v / vt / vn separati
  • Prestazioni del parser di testo su un file da 1,7 MB
Note per i test. Caricare l'OBJ separato da un URL funziona solo se il .mtl e il .png si trovano accanto a esso, ed è proprio così che sono pubblicati. Un flusso di caricamento che accetta un solo file perderà il materiale: è il caso a cui serve il pacchetto ZIP. Il file con quad e n-goni ha 128 facce che diventano 308 triangoli dopo la triangolazione. Se il tuo importatore riporta 128 triangoli, sta prendendo solo i primi tre vertici di ogni faccia. Per un OBJ danneggiato, il pacchetto di casi limite ne contiene uno il cui mtllib punta a un file inesistente e uno che usa indici negativi (relativi).

Domande frequenti

Che cos'è il file MTL e mi serve?

L'MTL (material template library) contiene i colori e i riferimenti alle texture dell'OBJ. L'OBJ lo indica con una riga mtllib e assegna i materiali con usemtl. Senza di esso la geometria si carica comunque, solo senza texture: è proprio ciò che puoi testare con l'esempio senza MTL.

Perché la texture appare capovolta nel mio visualizzatore?

Le coordinate texture dell'OBJ mettono (0, 0) in basso a sinistra dell'immagine. Alcuni motori, e tutti i dati glTF, usano l'angolo in alto a sinistra. La nostra griglia UV ha la cella A1 in basso a sinistra con le frecce U e V, così vedi subito se il tuo loader inverte la V.

L'OBJ supporta animazioni o colori dei vertici?

Nessuna animazione. I colori dei vertici esistono solo come estensione non ufficiale (numeri aggiuntivi dopo ogni riga v) che molti lettori ignorano, quindi non la usiamo. Per i colori usa PLY; per le animazioni usa glTF o FBX.

Quali unità di misura e quale asse verticale usano questi file?

glTF, GLB, OBJ, PLY, OFF, DAE e USDZ sono in metri con asse Y verso l'alto (il nodo torico misura circa 1,4 m di larghezza). STL e 3MF sono in millimetri con asse Z verso l'alto e poggiano su z = 0, come si aspettano gli slicer. FBX è in centimetri con asse Y verso l'alto. Unità e asse verticale di ogni file sono indicati nei suoi dettagli, così puoi verificare che il tuo importatore scali e ruoti correttamente.

Da dove provengono questi modelli?

Li generiamo noi. Uno script costruisce la geometria a partire da formule (un nodo torico, sfere UV, cubi e una staffa realizzata con una libreria di modellazione booleana), poi scrive ogni formato di file byte per byte seguendone la specifica. Nulla viene scaricato, scansionato o convertito dal modello di qualcun altro: per questo sono gratuiti per qualsiasi uso, anche commerciale, senza obbligo di attribuzione.

Questi file OBJ sono sicuri da scaricare?

Sì. Ogni file è generato da zero dal nostro script open source (niente è copiato da altri siti o caricato dagli utenti) e non contiene script, macro né eseguibili. Lo SHA-256 di ogni file è pubblicato in questa pagina, così puoi verificare ciò che hai ricevuto.

Posso usare i file OBJ di esempio per scopi commerciali?

Sì. Sono gratuiti per qualsiasi scopo, inclusi prodotti commerciali, suite di test, demo e ridistribuzione, senza obbligo di attribuzione. Non c'è nessuna licenza da acquistare e nessuno a cui chiedere il permesso.

Posso fare hotlink a questi file o usarli nella CI?

Sì. Ogni link è un URL diretto e stabile via HTTPS con Access-Control-Allow-Origin: * e header di cache lunghi, così curl, wget, fetch() e i test runner possono scaricarli direttamente. Ogni pagina rimanda a un indice JSON di tutti i file (vedi la sezione sulla riga di comando).

File di esempio correlati

Strumenti gratuiti che funzionano con OBJ

  • Generatore di hash — Calcola l'hash di testo o file con MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC32, verifica un checksum o calcola un HMAC. I file non lasciano mai il tuo dispositivo.
  • Generatore di file di prova — Genera nel browser un file fittizio di qualsiasi dimensione esatta, da 1 KB a 2 GB: byte casuali, testo, CSV o JSON.

Hai trovato un problema o qualcosa che potrebbe andare meglio? Leggiamo ogni messaggio e sistemiamo le cose in fretta.

Stai testando una pipeline di file? Le costruiamo noi.

Caricamenti, conversioni, anteprime, elaborazione di documenti e flussi multimediali sono il tipo di sistemi di produzione che FreeToolsForWeb progetta e gestisce per i clienti: è per questo che avevamo bisogno di questi file.

Scopri gli strumenti gratuiti