Grafica 3D

Realizzare un modello di grafica 3D da fotogrammetria digitale è un’esperienza affascinante in cui tutti posso cimentarsi.

L’idea di fare una pagina didattica su come realizzare un modello di grafica 3D mi è venuta osservando gli studenti del mio Liceo artistico che durante l’esame di maturità esponevano le loro opere realizzate attraverso la LIM (perdendo la tridimensionalità) o esponendole dal vero dopo averle portate in aula con gran fatica.

Saper creare modelli di grafica 3D, specialmente per giovani artisti, arricchisce notevolmente il loro portfolio, sempre disponibile online e di facile condivisione.

Gli studenti del liceo artistico infatti, specialmente delle sezioni di progettazione plastico e vetro, creano progetti molto interessanti ma spesso di dimensioni che non facilitano gli spostamenti e, di conseguenza, la presentazione al di fuori dell’ambiente scolastico.

Per questo ho voluto realizzare questa pagina didattica affinché chiunque lo desideri possa realizzare i suoi modelli di grafica 3D.

Di seguito troverete le istruzioni.

Ho scelto di farne il mio modello 3D su un busto trovato a scuola realizzato nel corso del Maestro Pazzini riproducente “L’anima dannata” di Gian Lorenzo Bernini che potete vedere realizzato alla pagina mesh.

Realizzazione 3D da fotogrammetria digitale automatica

Per arrivare al tuo obiettivo, dovrai attraversare numerose fasi che richiederanno vari strumenti e software. Ma più di tutto, sarà importante dotarsi di pazienza e determinazione per non scoraggiarsi se qualche step dovrà essere ripetuto.

La fotogrammetria digitale automatica si basa sull’individuazione automatica di punti chiave, riconoscibili in più immagini, sui quali vengono creati corrispondenze tra le immagini e collegamenti tra loro (image matching).

La fotogrammetria digitale permette di elaborare un modello tridimensionale partendo da immagini bidimensionali.

Questa tecnologia viene usata in vari ambiti: topografia, architettura, medicina, archeologia.

La sua diffusione è stata facilitata dalla presenza di software a basso costo, accessibili anche da utenti inesperti, e dalla possibilità di utilizzare anche la fotocamera del cellulare e un personal computer di medie prestazioni.

Prima di tutto devi sapere che per descrivere la posizione di un punto nello spazio è necessario utilizzare una terna di valori indicati generalmente con 𝑥, 𝑦 e 𝑧: 𝑥 e 𝑦 denotano le usuali coordinate cartesiane nel piano, mentre con 𝑧 viene indicata la terza dimensione.

Nella seguente immagine, ad esempio, il punto 𝑃(1; 2; 3) è individuato dai valori di ascissa 1, ordinata 2 e coordinata 3 rispetto all’asse 𝑧.

La maggior parte dei modelli di grafica 3D sono costituiti da punti nello spazio tra loro interconnessi in triangoli i cui vertici sono i punti stessi. Con abbastanza triangoli si può rappresentare qualsiasi forma.

Un MODELLO di grafica 3D è quindi una MESH (rete) di triangoli. I vertici sono le informazioni spaziali 3D, i triangoli (facce) sono la TOPOLOGIA. Un modello accettabile comprende circa 50000 facce.

Hai appena scoperto che il 3D è informazione geometrica perché è costituito da numeri sui quali è possibile applicare calcoli matematici ma ha anche una componente visuale in quanto i dati 3D possono essere visualizzati in modo tale da essere percepiti nello stesso modo in cui percepiamo la realtà. La combinazione di queste due proprietà è ciò che rende il 3D molto utile e prezioso.

Fasi di realizzazione di un modello 3D

Le fasi di realizzazione di un modello di grafica 3D da fotogrammetria digitale automatica sono ben precise e consequenziali. Per aiutarti a comprendere meglio, ho suddiviso l’intero percorso in 4 fasi, distinte e successive:

  1. Creazione del set di fotografie
  2. Creazione del modello 3D
    • creazione della nuvola di punti a bassa densità (nuvola di punti sparsa)
    • creazione della nuvola di punti ad alta densità (nuvola di punti densa)
  3. Pulizia e perfezionamento della mesh
  4. Pubblicazione sul web

Il primo risultato dell’elaborazione 3D da fotogrammetria digitale automatica è un dato grezzo, è sempre una nuvola di punti.

Nelle fasi successive, il dato grezzo viene utilizzato per realizzare una superficie poligonale continua, un modello di grafica 3D solido chiamato mesh.

Aprendo con un editor di testo, come ad esempio Blocco Note, la nuvola di punti, possiamo osservare che il file contiene solo sequenze numeriche: le prime tre sono le coordinate x,y,z di ogni punto, le ultime tre si riferiscono invece ai colori della texture nella codifica RGB, la codifica standard in ambito digitale. Ecco la prova che ad ogni punto del tuo modello 3D è associata una posizione nello spazio e un colore ben preciso.

fonte: 3d-archeolab.it

Creazione del set di fotografie

La creazione del set di fotografie per la realizzazione di un modello di grafica 3D da fotogrammetria digitale automatica prevede tanti scatti al tuo oggetto tali da coprire tutta la sua superficie. Una quarantina sono sufficienti se non disponi di strumenti professionali. Il mio modello è stato realizzato con 37 foto. Puoi farle col cellulare ma imposta prima una buona risoluzione.

Come fare le foto

Posiziona l’oggetto in modo da poterlo fotografare da tutte le angolazioni, girandogli intorno.

È indispensabile che ad ogni scatto siano ben delineati i contorni.

Pertanto, fai in modo che lo sfondo sia in contrasto col tuo oggetto: se è chiaro, poni uno sfondo scuro o viceversa. In questo modo sarà più semplice per il software creare punti di riferimento ben definiti.

Trovata una posizione ottimale, puoi iniziare a fotografare anche in ordine casuale, da diverse altezze e distanze, ma ogni foto dovrà prevedere una porzione dell’oggetto già compresa in altri scatti, all’incirca dell’80%.

Scattata la prima foto, l’oggetto non deve muoversi più. Dovrai essere tu a girargli intorno scattando primi piani più ravvicinati per zone particolari, maggiormente dettagliate.

La luce può crearti problemi

Fai attenzione: la luce può essere un problema in quanto i riflessi annullano i contorni.

Un’ illuminazione intorno all’oggetto scarsa renderà le foto scure, troppa luce potrà creare riflessi e ombre. Per questo la collocazione davanti a una finestra in una giornata di sole non è consigliata perché la luce intorno all’oggetto deve essere uniforme e non si devono creare ombre. I fasci di luce annullano i contorni e non permettono al software di allineare i punti da una foto all’altra.

Creazione del modello 3D

Per la realizzazione del mio modello ho utilizzato Agisoft Metashape che puoi scaricare qui (puoi usarlo in prova gratuita per 30 giorni per cui ti consiglio di installarlo quando hai già tutto pronto per lavorarci). Questo software, stand-alone, esegue l’elaborazione fotogrammetrica di immagini digitali generando immagini spaziali 3D.

Puoi utilizzare anche altri programmi come ad esempio Zephyr.

Nello specifico, i programmi come questi, individuano la triangolazione di cui abbiamo parlato prima, che sfrutta le proprietà dei triangoli per calcolare la distanza tra i punti.

La nuvola di punti sparsa

Per ottenere la nuvola di punti sparsa, ti basterà aggiungere nel workflow le foto che hai fatto all’oggetto (da 30 a 40 al massimo per non incorrere in pesanti elaborazioni) e allineare le foto dal menù workflow con i parametri di default.

Attraverso l’allineamento puoi capire se il tuo set di foto è stato ben eseguito e se l’elaborazione della nuvola di punti sarà compatta o “bucata”.

nuvola sparsa di “Anima dannata”

I buchi rappresentano le zone in cui non è stato possibile al software allineare i punti cioè eseguire le triangolazioni su tutta la superficie dell’oggetto. Poche foto allineate daranno risultati insoddisfacenti pertanto, prima di continuare, dovresti integrare il tuo set fotografico con nuove foto, scattate in corrispondenza dei punti dove il tuo modello risulterà bucato.

La nuvola di punti densa

Dopodiché, ottenuta la nuvola sparsa, dovrai elaborare la nuvola densa.

Potrai scegliere vari livelli di elaborazione con conseguenti diversi tempi di elaborazione e di memoria.

Di seguito l’immagine di una elaborazione che ho scartato in quanto, come potrai vedere, la testa del busto non è stata perfettamente elaborata. In questi casi occorre analizzare le possibili cause e rimediare integrando il workflow di foto o sostituendole con altre più dettagliate.

A questo punto, se il tuo modello di grafica 3D è accettabile, dovrai procedere alla pulizia di tutti i punti “volanti” ossia i punti sparsi che, se non rimuoverai, saranno visibili sul modello 3D finale.

Per ripulire la tua mesh devi cambiare software.

Prima, devi salvare il lavoro fatto fin qui esportando la tua mesh nel formato.ply (migliore del .obj) per passarlo a un software adatto a questo scopo.

Esportazione di default del modello “Anima dannata”

Pulizia della mesh

Ottenuta una nuvola densa accettabile, cioè ben definita anche se con tanto “sporco intorno”, dovrai procedere alla pulizia della mesh.

Per questo dovrai utilizzare un altro software. Per il mio caso ho utilizzato MeshLab.

MeshLab è uno strumento Open Source, potente e avanzato, per la visualizzazione e la modifica di mesh, orientato alla gestione di mesh triangolari dense e dati 3D provenienti da dispositivi di scansione 3D.

Puoi fare il download di MeshLab a questo link oppure da ghithub.com.

A questo indirizzo invece trovi i riferimenti a numerosi tutorial caricati dagli utenti in rete.

Inoltre su YouTube c’è un canale, “Mister P. MeshLab Tutorials”, sull’uso di Meshab dove puoi trovare video che coprono i concetti di base fondamentali e la maggior parte delle caratteristiche più utili. Viene aggiornato regolarmente con nuovi tutorials.

Una volta importato il file in MeshLab, viene visualizzata in 3D la rappresentazione nello spazio della tua nuvola. Se la nuvola di punti è il risultato di una scansione con texture, la nuvola di punti apparirà con i colori di tale scansione. Se, al contrario, è il risultato di una scansione senza texture, verranno mostrati tutti i punti del colore scelto al momento della scansione.

Nel mio caso, ho passato a MeshLab la nuvola densa comprendente la texture.

Con MeshLab puoi selezionare manualmente parti da cancellare, modificare la geometria, levigare l’oggetto, ruotarlo, traslarlo, applicare la scala, centrarlo e orientarlo.

I modelli 3D sono rappresentazioni geometriche misurabili ma non c’è alcun riferimento all’unità di misura reale. Un modo può essere quello di piazzare dei markers sul modello e assegnare loro una distanza reale.

Anche centrare il modello sulle normali permette di eseguire una migliore rotazione.

Puoi anche decidere di applicare i filtri al tuo modello: lo smoothing, ad esempio, rende liscia la superficie e rende il modello più fruibile al pubblico ma crea inevitabilmente la perdita di dettagli.

Una curiosità: se il tuo modello di grafica 3D dovesse essere stampato, sarebbe necessario chiudere tutti i buchi ricostruendo manualmente tutte le interconnessioni tra i punti.

mesh.py di “Anima dannata” quasi interamente ripulita

Pubblicazione del modello di grafica 3D sul web

La pubblicazione sul web del vostro modello può avvenire in diversi modi: attraverso una vostra pagina web, utilizzando il software 3DHOP , oppure attraverso un visualizzatore di modelli 3D come Sketchfab.

Per il mio modello “Anima dannata” ho seguito entrambe le procedure: su questo sito e su Sketchfab .

Se sei interessato alla pubblicazione all’interno del tuo sito ti consiglio di seguire le istruzioni, molto dettagliate e chiarissime, dell’ing. Giampaolo Beretta a questa pagina oppure accedendo al suo canale YouTube.

Se invece preferisci un percorso più semplice, ma comunque utile se il tuo scopo è rendere visibili al pubblico i tuoi lavori, avendo già la mesh pronta in formato.obj, ti basterà iscriverti su Sketchfab e fare l’upload del tuo modello 3D.

Ecco fatto! Non scoraggiarti mi raccomando, per arrivare al risultato finale ho creato 4 mesh ripartendo sempre da nuove foto. Raggiungere l’obiettivo però, anche se con difficoltà, mi ha arricchita e ha accresciuto la mia autostima!