Hai mai desiderato creare un file CAD (3D) con le tue immagini preferite?
Ci sono molte modalità per applicare immagini e texture ai file 3D. Tuttavia, per la maggior parte di queste operazioni, potrebbero essere necessari programmi costosi o esperienza i software di progettazione CAD.
Questo tutorial ti mostra come creare un semplice cubo OBJ, spiegando nel contempo parte della nomenclatura di base degli OBJ.
Successivamente, illustra i passaggi per mappare immagini sulle facce del cubo.
Gli unici strumenti di cui avrai bisogno sono un editor di testo come Notepad e le immagini che vuoi applicare.
Step 1: OBJ con Textures
OBJ è un formato di file di definizione della geometria open source sviluppato inizialmente da Wavefront Technologies.
Successivamente, è stato adottato da molti fornitori di applicazioni grafiche in 3D.
Il contenuto di un file OBJ può essere visualizzato in un editor di testo come NOTEPAD. Contiene informazioni sui vertici, sulle normali ai vertici, sulla posizione UV delle coordinate delle texture e sulle facce che compongono i poligoni. Ai file OBJ possono essere associati file MTL. Questi file contengono le definizioni delle texture e utilizzano le informazioni del file OBJ per mappare le texture sui poligoni a piacere. Per ulteriori informazioni sui file OBJ e MTL, visitare https://en.wikipedia.org/wiki/Wavefront_.obj_file
Questo tutorial vi insegnerà a creare un semplice cubo OBJ da zero e a creare un file MTL associato per aggiungere immagini sulle facce.
Step 2: Raccogli le immagini desiderate
È importante salvare le immagini desiderate nella stessa cartella in cui verrà creato il file OBJ. Salva quindi le tue immagini in una cartella che chiameremo: IMMAGINI
Sto utilizzando solo 5 immagini per 5 facce del cubo e lascerò senza immagine la sesta faccia inferiore del cubo.
Step 3: Scarica l'applicazione 3D Builder
3D Builder è un ottimo strumento gratuito che funziona bene per visualizzare rapidamente file STL e OBJ. È integrato nel sistema operativo Windows 10.
Tuttavia, se non lo hai, puoi scaricarlo dallo store Microsoft.
Step 4: Creazione del file di Testo
Crea un documento di testo nella stessa cartella con le immagini (es. myCube.txt). Fai clic con il pulsante destro del mouse nello spazio vuoto, seleziona Nuovo e seleziona Documento di testo.
Step 5: Add OBJ Vertices
Ai fini di questo tutorial, creeremo un semplice cubo.
Copia il testo seguente (Mesh) nel file di testo creato:
#Lista degli 8 vertici del cubo con centro i x=0, y=0 e z=0
v -5.5 -5.5 -5.5
v 5.5 -5.5 -5.5
v 5.5 5.5 -5.5
v -5.5 5.5 -5.5
v -5.5 -5.5 5.5
v 5.5 -5.5 5.5
v 5.5 5.5 5.5
v -5.5 5.5 5.5
Queste sono le coordinate degli 8 vertici del cubo. Ho posizionato il centro del cubo alle coordinate globali (0, 0, 0).
Per creare un cubo delle dimensioni desiderate, modificate il valore 5.5 ovunque con le vostre dimensioni.
Step 6: Aggiungi le Normali e Coordinate di Texture
Sotto i vertici, precedentemente copiati, copia il testo seguente:
#Lista coordinate delle Texture
vt 0 0
vt 1 0
vt 0 1
vt 1 1
#Lista Normali
vn 0 -1 0.5
vn 0 1 0.5
vn -1 0 0.5
vn 1 0 0
vn 0 0 1
vn 0 0 -1
vn e vt si riferiscono alle normali e alle coordinate UV della texture per questo cubo. Ai fini del tutorial, copiare questi valori esattamente.
Step 7: Aggiungi informazioni relative alle facce del cubo
Sotto al test precedente copia il testo seguente:
#Lista Normali e coordinate Texture
f 1/1/1 2/2/1 6/4/1
f 1/1/1 6/4/1 5/3/1
f 3/1/2 4/2/2 8/4/2
f 3/1/2 8/4/2 7/3/2
f 4/1/3 1/2/3 5/4/3
f 4/1/3 5/4/3 8/3/3
f 2/1/4 3/2/4 7/4/4
f 2/1/4 7/4/4 6/3/4
f 5/1/5 6/2/5 7/4/5
f 5/1/5 7/4/5 8/3/5
f 4/1/6 3/2/6 2/4/6
f 4/1/6 2/4/6 1/3/6
Questo definisce ogni triangolo del cubo OBJ con una combinazione di vertici, coordinate di texture e normali ai vertici.
Ci sono 12 triangoli per le 6 facce del cubo.
Ad esempio, il primo triangolo del cubo f 1/1/1 2/2/1 6/4/1 è composto dal primo, secondo e sesto vertice, dalle coordinate della texture 1, 2 e 4 e dalla normale al primo vertice. Il secondo triangolo f 1/1/1 6/4/1 5/3/1 è composto dal primo, sesto e quinto vertice, dalle coordinate della texture 1, 4 e 3 e dalla normale al primo vertice. I due triangoli costituiscono una faccia del cubo, il che significa che hanno la stessa normale al vertice.
Qualsiasi modifica all'ordine di vertici, normali e coordinate della texture nei passaggi precedenti influenzerebbe la definizione delle facce e corromperebbe il file. Pertanto, ai fini di questo tutorial, copiate questi valori nel vostro file di testo esattamente come li avete sempre desiderati.
Step 8: Controlla il tuo file OBJ per eventuali errori
Il tuo file di testo dovrebbe apparire così:
#Lista degli 8 vertici del cubo con centro i x=0, y=0 e z=0
v -5.5 -5.5 -5.5
v 5.5 -5.5 -5.5
v 5.5 5.5 -5.5
v -5.5 5.5 -5.5
v -5.5 -5.5 5.5
v 5.5 -5.5 5.5
v 5.5 5.5 5.5
v -5.5 5.5 5.5
#Lista coordinate delle Texture
vt 0 0
vt 1 0
vt 0 1
vt 1 1
#Lista Normali
vn 0 -1 0.5
vn 0 1 0.5
vn -1 0 0.5
vn 1 0 0
vn 0 0 1
vn 0 0 -1
#Lista Normali e coordinate Texture
usemtl CubeFront
f 1/1/1 2/2/1 6/4/1
f 1/1/1 6/4/1 5/3/1
usemtl CubeBack
f 3/1/2 4/2/2 8/4/2
f 3/1/2 8/4/2 7/3/2
usemtl CubeLeft
f 4/1/3 1/2/3 5/4/3
f 4/1/3 5/4/3 8/3/3
usemtl CubeRight
f 2/1/4 3/2/4 7/4/4
f 2/1/4 7/4/4 6/3/4
usemtl CubeTop
f 5/1/5 6/2/5 7/4/5
f 5/1/5 7/4/5 8/3/5
f 4/1/6 3/2/6 2/4/6
f 4/1/6 2/4/6 1/3/6
Dopo la revisione, salva il file di testo con estensione .obj nella stessa posizione indicata di seguito.
Step 9: Visualizza il tuo file OBJ in 3D Builder
Apri il tuo file OBJ in 3D Builder. Apparirà così:
Step 10: Creare il file MTL
Crea un documento di testo come nel passaggio 4. Una volta creato, incolla il seguente testo:
newmtl CubeTop
Kd 1 1 1
Ns 96.0784
d 1
illum 1
Ka 0 0 0
Ks 1 1 1
map_Kd pic1.jpg
Il testo sopra definisce un materiale chiamato "CubeTop". Ka, Kd, Ks, Ns sono le definizioni di colore ambiente, colore diffuso, colore speculare ed esponente speculare. d e illum definiscono i modelli di trasparenza e illuminazione del materiale. Fare riferimento al link nel Passaggio 1 per una descrizione più dettagliata della terminologia MTL. Infine, map_Kd pic1.jpg si riferisce alla mappatura dell'immagine pic1.jpg che sarà presente nella cartella.
Step 11: Crea gli altri materiali
Analogamente al passaggio 10, copia e incolla il testo quattro volte per le altre 4 superfici del cubo. Quindi, modifica il newmtl da CubeTop a CubeFront, CubeBack, CubeLeft e Cube Right. Infine, modifica le voci map_Kd in pic2.jpg, pic3.jpg, pic4.jpg e pic5.jpg, poiché questi sono i nomi e le estensioni di tutte le mie immagini. I file MTL supportano anche le immagini PNG.
Le restanti voci possono essere invariate. Questo crea 4 nuovi materiali per le 4 facce, insieme alle immagini associate a ciascuna faccia. Una volta completato, il file MTL dovrebbe apparire così:
newmtl CubeTop
Kd 1 1 1
Ns 96.0784
d 1
illum 1
Ka 0 0 0
Ks 1 1 1
map_Kd pic1.jpg
newmtl CubeLeft
Kd 1 1 1
Ns 96.0784
d 1
illum 1
Ka 0 0 0
Ks 1 1 1
map_Kd pic2.jpg
newmtl CubeRight
Kd 1 1 1
Ns 96.0784
d 1
illum 1
Ka 0 0 0
Ks 1 1 1
map_Kd pic3.jpg
newmtl CubeFront
Kd 1 1 1
Ns 96.0784
d 1
illum 1
Ka 0 0 0
Ks 1 1 1
map_Kd pic4.jpg
newmtl CubeBack
Kd 1 1 1
Ns 96.0784
d 1
illum 1
Ka 0 0 0
Ks 1 1 1
map_Kd pic5.jpg
Una volta completato, salva il documento di testo con estensione .mtl (es. MyTextures.mtl). Il tuo file MTL è pronto. Tuttavia, di per sé non ha alcun significato.
Step 12: Chiama il file MTL nel tuo file OBJ
Il passo successivo consiste nel richiamare il file MTL nel file OBJ.
Nel file OBJ, aggiungere il seguente testo nella prima riga del file OBJ, come mostrato di seguito:
mtllib MyTextures.mtl
Step 13: Aggiungere i nomi dei materiali nel file OBJ
Il passo successivo consiste nell'aggiungere i nomi dei materiali definiti nel file MTL al file OBJ. Questo può essere complicato.
Osservate attentamente le facce. Seguendo la convenzione di numerazione dei vertici, delle coordinate della texture e delle normali ai vertici, noterete che le facce sono accoppiate nel modo seguente:
Prima della prima coppia di facce, scrivete il seguente testo:
usemtl CubeFront
Il comando usemtl utilizza il nome del materiale dal file MTL per mappare i materiali all'insieme di facce.
Ripetere la procedura precedente per tutti i materiali definiti nel file MTL.
Il file OBJ risultante è mostrato di seguito:
mtllib MyTextures.mtl
#Lista degli 8 vertici del cubo con centro i x=0, y=0 e z=0
v -5.5 -5.5 -5.5
v 5.5 -5.5 -5.5
v 5.5 5.5 -5.5
v -5.5 5.5 -5.5
v -5.5 -5.5 5.5
v 5.5 -5.5 5.5
v 5.5 5.5 5.5
v -5.5 5.5 5.5
#Lista coordinate delle Texture
vt 0 0
vt 1 0
vt 0 1
vt 1 1
#Lista Normali
vn 0 -1 0.5
vn 0 1 0.5
vn -1 0 0.5
vn 1 0 0
vn 0 0 1
vn 0 0 -1
#Lista Normali e coordinate Texture
usemtl CubeFront
f 1/1/1 2/2/1 6/4/1
f 1/1/1 6/4/1 5/3/1
usemtl CubeBack
f 3/1/2 4/2/2 8/4/2
f 3/1/2 8/4/2 7/3/2
usemtl CubeLeft
f 4/1/3 1/2/3 5/4/3
f 4/1/3 5/4/3 8/3/3
usemtl CubeRight
f 2/1/4 3/2/4 7/4/4
f 2/1/4 7/4/4 6/3/4
usemtl CubeTop
f 5/1/5 6/2/5 7/4/5
f 5/1/5 7/4/5 8/3/5
f 4/1/6 3/2/6 2/4/6
f 4/1/6 2/4/6 1/3/6
Non ho aggiunto un comando usemtl per le ultime due facce perché non voglio un'immagine per la superficie inferiore, e questa non è stata definita nel file MTL.
Step 14: Il file OBJ è pronto
Dopo il passaggio precedente, salva il file OBJ. Quindi avvia 3D Builder.
Se ci sono errori in 3D Builder o se mancano delle immagini, torna ai passaggi 11 e 13 e confronta i tuoi file con le immagini incollate. Assicurati inoltre che il file OBJ, il file MTL e tutte le immagini siano nella stessa cartella.