Sono molto entusiasta della sensazionalizzazione del computing: un'idea in cui le cose intelligenti percepiscono l'ambiente, sono connesse, quindi diventano un'estensione dell'utente. Asan Intel Software evangelist (e un programmatore di hobbyist confessato), sono abbastanza fortunato da poter sperimentare queste possibilità utilizzando la tecnologia all'avanguardia di Intel. In precedenza, avevo scritto sulla scansione 3D del mondo intorno a te in tempo reale e inserendovi un oggetto virtuale; tuttavia, in questo tutorial, vorrei spiegare come eseguire l'inverso, eseguendo la scansione 3D e aggiungendo la scansione al mondo virtuale.
Più specificamente, noi:
Finiremo con una maglia colorata 3D della tua testa, pronta per l'uso in Unity. (Nel prossimo tutorial vedremo come realizzarlo in Unity e in cosa potresti utilizzarlo in un gioco.)
Avrai bisogno:
Dopo aver installato l'SDK, vai su Charm Bar (in Windows 8) o Start Menu (in Windows 7 o 10) e cerca Browser campione SDK RealSense
. Trovalo nell'elenco, fai clic con il pulsante destro del mouse e seleziona Esegui come amministratore.
Nel Sample Browser troverai una sezione chiamata Campioni comuni. Questi sono esempi che funzioneranno su entrambe le fotocamere RealSense rivolte verso il fronte e sul retro. Trova l'esempio chiamato Scansione 3D (C ++).
Documenti
cartella come 3Dscan.obj
.Il formato OBJ è il formato predefinito ottenuto dalla scansione. Per usarlo in Blender (e in seguito in Unity), lo convertiamo in formato PLY usando uno strumento gratuito chiamato MeshLab. Quindi, scarica, installa ed esegui MeshLab, se non lo hai già fatto.
Dal File menu, selezionare Importare. Trovare la 3Dscan.obj
file creato nella sezione precedente.
Dopo aver importato il tuo oggetto, potrebbe essere dalla sua parte. Puoi fare clic con il tasto sinistro del mouse nella parte inferiore dell'oggetto e trascinare verso l'alto per ruotare l'oggetto ed esaminarlo.
Dovresti vedere la trama con il colore. Le informazioni sul colore sono memorizzate come colori al vertice, il che significa che ogni vertice è colorato con i pixel ottenuti dalla telecamera RGB quando ha scansionato la tua testa.
Clic File> Esporta mesh come. Nella finestra di dialogo che appare, selezionare Formato file Stanford Polygon (* .ply) dal File di tipo cadere in picchiata:
Salva il risultato PLY da qualche parte sarai in grado di trovarlo più tardi.
L'idea qui è di importare il file 3D in Blender, crearne una copia, ripulire la copia e mappare i colori dei vertici come una mappa UV per la nuova versione duplicata.
Scarica, installa ed esegui Blender, se non lo hai già fatto.
Crea un nuovo progetto in Blender, seleziona Importa> Stanford (.ply), quindi seleziona il file PLY che hai appena esportato da MeshLab:
Dopo averlo importato, vedrai che le trame non sono visibili:
Tuttavia, se si passa a Struttura visualizza, vedrai che i colori RGB della scansione sono ora mappati alla modalità Texture:
Usa questo menu per passare a Struttura vista.Per vedere correttamente i colori, cambia di nuovo la modalità di visualizzazione, questa volta Materiale. Nel riquadro di destra, seleziona il materiale icona, quindi creare un nuovo materiale.
Nell'editor del pannello, impostare Ombreggiatura a shadeless, e nel Opzioni, accendere Vernice Colore Vertex. Questo imposta con successo i colori dei vertici sul materiale dell'oggetto.
Ora, questa non è ancora una rete lavorabile per noi. È pieno di buchi, è ruvido e il numero di poligoni è molto più alto di quello che vorremmo che fosse, se lo useremo in un gioco.
Abbiamo bisogno di creare una versione di questa mesh che possiamo pulire, ma mappare questa texture con i vertici come una mappa UV. Quella versione è la versione che porteremo in Unity.
Selezionare Oggetto> Duplica oggetti e colpisci accedere. Non spostare il mouse.
Quindi, selezionare Oggetto> Sposta al livello, e quindi seleziona il quadrato a destra del livello corrente (il secondo quadrato da sinistra nella riga superiore).
Vai al Browser delle risorse e rinomina le tue mesh. Nome uno Maglia originale
e l'altro Seconda maglia
. Questo ti aiuterà a distinguerli.
Seleziona la seconda mesh, seleziona il livello pertinente e cambia la modalità di visualizzazione da Materiale a Solido.
Quindi, dal riquadro di destra, fai clic sull'icona che assomiglia a una chiave inglese per aggiungere un modificatore. Ridurremo il numero di poligoni di questa mesh e lo elimineremo.
Selezionare Strumenti> Remesh. In questa finestra di dialogo, imposta il Albero di ottobre tra 7
e 8
. Impostato Modalità a Liscio, e accendi Ombreggiatura liscia. Questo ti farà perdere la mappatura del materiale:
Clic Applicare. Ora hai una mesh più pulita a cui puoi applicare il vertice e la mappa UV.
Entra in modificare modalità su questa seconda mesh. Clic Seleziona> Seleziona tutto.
Crea una nuova finestra e impostala su UV / Image Editor modalità per vedere la mappa UV.
Nel 3D finestra, selezionare Mesh> UV Unwrap> Progetto Smart UV.
Nel Mappa UV finestra, selezionare Nuovo per creare una texture. Spegni Alfa. Assegna alla texture il nome che desideri assegnare al modello finale.
Passa a Oggetto modalità. Vedrai un modello nero e una mappa UV nera. Va bene!
Ora seleziona entrambi i livelli per Cambio-cliccandoli per renderli entrambi visibili.
Seleziona entrambi i livelli ... ... e il tuo riquadro di visualizzazione sarà simile a questo.Nel Browser delle risorse, seleziona la mesh originale. Fai clic sull'icona della fotocamera.
Nel Infornare sezione, accendi Selezionato su attivo. Assicurati che Cuocia a Vertex Color è spento.
Nel Scena sezione, impostare Gestione del colore a Nessuna.
Nel Bene menu, selezionare la mesh originale. Quindi, tieni premuto Cambio e selezionare la seconda maglia. (Devi farlo in questo ordine.) Assicurati che entrambi i livelli siano visibili con le icone dell'occhio e della fotocamera.
Fai clic sull'icona della fotocamera. Nel Infornare sezione, fare clic Infornare.
Ora dovresti avere una texture mappata. Per vederlo, spegni il primo livello, quindi vedi solo il livello con la seconda mesh. Seleziona il Struttura guarda e vedrai la mesh con la tua mappa UV.
Noterai qualche funkiness in cui l'immagine è piena di aree mancanti della mesh:
Puoi passare a Texture Paint modalità per ripulire quelli. Ora puoi anche passare a Scolpire modalità per riempire le aree mancanti, nonché per ripulire o aggiungere funzionalità alla mesh.
Dopo aver ripulito la mesh, puoi prepararti ad esportarla:
Il tuo modello è completo!
Hai scansionato la testa, ridotto il poligono, ripulito il modello ed esportato come un modello 3D pronto per l'uso in altre applicazioni. In un futuro tutorial, importeremo questa mesh 3D in Unity e osserveremo come potrebbe essere utilizzata nei giochi.
Il programma Intel® Software Innovator supporta sviluppatori indipendenti innovativi che mostrano la capacità di creare e dimostrare progetti lungimiranti. Gli innovatori sfruttano le opportunità di speakerhip e demo negli eventi del settore e nelle riunioni degli sviluppatori.
Intel® Developer Zone offre strumenti e istruzioni per lo sviluppo di app cross-platform, informazioni su piattaforma e tecnologia, esempi di codice e competenze peer per aiutare gli sviluppatori a innovare e avere successo. Unisciti alle nostre comunità per il Internet delle cose, Android *, Tecnologia Intel® RealSense ™, Codice moderno, Game Dev e Finestre* per scaricare strumenti, accedere a kit di sviluppo, condividere idee con sviluppatori affini e partecipare a hackathon, concorsi, roadshow ed eventi locali.