Case study - HoloTour
HoloTour per Microsoft HoloLens offre tour personali 3D immersivi di luoghi iconici in tutto il mondo. Come designer, artisti, produttori, designer audio e sviluppatori che lavorano su questo progetto ha scoperto, creando un rendering 3D convincentemente reale di una posizione ben nota prende una miscela unica di creazione e creazione di procedure guidate tecnologiche. Questo case study illustra il processo di acquisizione e creazione del contenuto usato per HoloTour.
La tecnologia
Con HoloTour, volevamo rendere possibile che le persone visitino alcune delle destinazioni più incredibili del mondo, come le rovine di Machu Picchu in Perù o la moderna Piazza Sarajevo in Italia, direttamente dai propri salotti. Il nostro team lo ha reso l'obiettivo di HoloTour per "farti sentire come sei davvero lì". L'esperienza necessaria per essere più che solo immagini o video. Sfruttando l'unica tecnologia di visualizzazione, rilevamento e audio di HoloLens abbiamo creduto che potremmo trasportarti virtualmente in un altro luogo. Sarebbe necessario acquisire le attrazioni, i suoni e la geometria tridimensionale di ogni posizione visitata e quindi ricreare quella all'interno dell'app.
Per eseguire questa operazione, abbiamo bisogno di un rig di fotocamera a 360° con acquisizione audio direzionale. È necessario acquisire una risoluzione estremamente elevata, in modo che i filmati sembrino nitidi quando vengono riprodotti su un HoloLens e le telecamere devono essere posizionate insieme per ridurre al minimo gli artefatti di punti. Volevamo una copertura sferica completa, non solo lungo l'orizzonte, ma sopra e sotto di te. Anche il rig deve essere portabile in modo che potremmo prenderlo in tutto il mondo. Abbiamo valutato le opzioni disponibili per lo scaffale e sono state semplicemente rese conto che non erano abbastanza buone per realizzare la nostra visione, sia a causa di risoluzione, costi o dimensioni. Se non riuscissimo a trovare un rig della fotocamera che soddisfasse le nostre esigenze, dovremmo costruire uno noi stessi.
Costruzione del rig
La prima versione, fatta di cartone, Velcro, nastro dotto e 14 fotocamere GoPro, era qualcosa di cui MacGyver sarebbe stato orgoglioso. Dopo aver esaminato tutto da soluzioni di basso livello a rig prodotti personalizzati, le fotocamere GoPro erano in definitiva l'opzione migliore per noi perché erano piccole, convenienti e avevano un'archiviazione di memoria facile da usare. Il fattore di forma piccolo è stato particolarmente importante perché ci ha consentito di posizionare le telecamere abbastanza vicine, la distanza più piccola tra telecamere, i più piccoli artefatti di punti saranno. La nostra disposizione unica della fotocamera ci ha consentito di ottenere una copertura completa della sfera più una sovrapposizione sufficiente per allineare in modo intelligente le telecamere e regolare alcuni artefatti durante il processo di punto.
Sfruttare le funzionalità audio spaziali in HoloLens è fondamentale per creare un'esperienza immersiva convincente. Abbiamo usato una matrice a quattro microfoni situata sotto le telecamere sul tripod, che acquisisce il suono dalla posizione della nostra fotocamera in quattro direzioni, fornendoci informazioni sufficienti per creare suoni spaziali nelle nostre scene.
La nostra macchina fotografica di 360° è stata configurata per la ripresa al di fuori del Pantheon.
Abbiamo testato il nostro rig fatto in casa prendendolo fino a Rattlesnake Ridge vicino Seattle, catturando lo scenario nella parte superiore dell'escursione. Il risultato, anche se significativamente meno lucidato rispetto alle posizioni che vedete oggi in HoloTour, ci ha dato fiducia che il nostro progetto di rig era abbastanza buono per farti sentire come sei davvero lì.
Abbiamo aggiornato il nostro rig da Velcro e cartone a una fotocamera stampata 3D e acquistato pacchetti di batteria esterni per le fotocamere GoPro per semplificare la gestione della batteria. Abbiamo poi fatto un test più ampio, viaggiando verso San Francisco per creare un tour in miniatura della costa della città e il iconico ponte Golden Gate. Questa macchina fotografica è ciò che abbiamo usato per la maggior parte delle nostre acquisizioni delle posizioni che visiti in HoloTour.
La telecamera del 360° filming a Machu Picchu.
Dietro le quinte
Prima di filmare, abbiamo bisogno di capire quali posizioni volevamo includere nel nostro tour virtuale. Roma era la prima posizione che volevamo spedire e volevamo farlo bene, quindi abbiamo deciso di fare un viaggio di scouting in anticipo. Abbiamo inviato un team di sei persone, tra cui artisti, designer e produttori, per una visita in persona ai siti che stavamo considerando. Il viaggio ha impiegato circa 9 giorni - 2,5 per viaggiare, il resto per filmare. (Per Machu Picchu abbiamo scelto di non fare un viaggio scout, ricercando in anticipo e prenotando alcuni giorni di buffer per filmare).
Mentre a Roma, il team ha scattato foto di ogni area e annotato fatti interessanti, nonché considerazioni pratiche, come come quanto è difficile viaggiare in ogni luogo e come sarebbe difficile filmare a causa di folle o restrizioni. Questo può sembrare una vacanza, ma è un sacco di lavoro. I giorni iniziarono presto al mattino e sarebbero andato non stop fino alla sera. Ogni notte, le riprese sono state caricate per il team di Seattle per rivedere.
Il nostro equipaggio di acquisizione a Roma.
Dopo aver completato il viaggio scout, è stato fatto un piano finale per il film effettivo. Questo richiedeva un elenco dettagliato di dove stavamo andando a filmare, in quale giorno, e in quel momento. Ogni giorno all'estero è costoso, quindi questi viaggi devono essere efficienti. Abbiamo prenotato guide e gestori a Roma per aiutarci e completamente usati ogni giorno da prima dell'alba al tramonto. Dobbiamo ottenere i migliori filmati possibili per farti sentire come sei davvero lì.
Acquisizione del video
L'esecuzione di alcune semplici operazioni durante l'acquisizione può rendere molto più semplice l'elaborazione post-elaborazione. Ad esempio, ogni volta che si unisce immagini da più fotocamere, si finisce con artefatti visivi perché ogni fotocamera ha una visualizzazione leggermente diversa. Gli oggetti più vicini sono alla fotocamera, la differenza più grande tra le visualizzazioni e gli artefatti più grandi saranno. Ecco un modo semplice per visualizzare il problema: tenere il pollice su davanti al viso e guardarlo con un solo occhio. Ora passa gli occhi. Si noterà che il pollice sembra spostarsi rispetto allo sfondo. Se tieni il pollice lontano dal viso e ripeti l'esperimento, il pollice apparirà meno. Questo movimento apparente è simile al problema di punti che abbiamo affrontato: i tuoi occhi, come le nostre telecamere, non vedono la stessa immagine esatta perché sono separati da una piccola distanza.
Poiché è molto più facile evitare i peggiori artefatti durante la ripresa di quanto sia corretto in post-elaborazione, abbiamo cercato di mantenere le persone e le cose lontane dalla fotocamera nelle speranze che potremmo eliminare la necessità di ricucire gli oggetti di chiusura. Il mantenimento di una grande cancellazione intorno alla fotocamera era probabilmente una delle più grandi sfide che abbiamo avuto durante la ripresa e abbiamo dovuto ottenere creatività per renderlo funzionante. L'uso delle guide locali è stato un grande aiuto nella gestione delle folle, ma abbiamo anche scoperto che l'uso di segni, e a volte piccoli coni o borse di fagioli, per contrassegnare il nostro spazio di filming è stato ragionevolmente efficace, soprattutto perché abbiamo bisogno solo di ottenere una breve quantità di filmati in ogni posizione. Spesso il modo migliore per ottenere una buona acquisizione era solo per arrivare molto presto al mattino, prima che la maggior parte delle persone si presentasse.
Alcune altre tecniche di acquisizione utili provengono direttamente dalle pratiche tradizionali del film. Ad esempio, abbiamo usato una scheda di correzione dei colori su tutte le nostre fotocamere e abbiamo acquisito foto di riferimento di trame e oggetti che potrebbero essere necessari in un secondo momento.
Un taglio approssimativo dei filmati di Pantheon prima di cucire.
Elaborazione del video
L'acquisizione di contenuti di 360° è solo il primo passaggio: è necessario un sacco di elaborazione per convertire i filmati della fotocamera non elaborati acquisiti negli asset finali visualizzati in HoloTour. Una volta che siamo tornati a casa abbiamo bisogno di prendere il video da 14 diversi feed di telecamere e trasformarlo in un singolo video continuo con artefatti minimi. Il nostro team d'arte ha usato numerosi strumenti per combinare e lucido i filmati acquisiti e abbiamo sviluppato una pipeline per ottimizzare l'elaborazione il più possibile. Le riprese devono essere unite, corrette dal colore e poi composte per rimuovere elementi e artefatti distrazioni o per aggiungere tasca supplementari di vita e movimento, tutto con l'obiettivo di migliorare quella sensazione di essere effettivamente lì.
Un taglio approssimativo dei filmati di Pantheon prima di cucire.
Per unire i video, abbiamo usato uno strumento denominato PTGui e lo abbiamo integrato nella pipeline di elaborazione. Nell'ambito della post-elaborazione abbiamo estratto ancora fotogrammi dai nostri video e trovato un modello di punto che sembrava buono per uno di questi fotogrammi. Abbiamo quindi applicato questo modello a un plug-in personalizzato che ha consentito ai nostri artisti di video di ottimizzare e modificare il modello di punto direttamente durante la composizione in After Effects.
Screenshot di PTGui che mostra i filmati di Pantheon con punti.
Riproduzione di video
Dopo aver completato l'elaborazione dei filmati, abbiamo un video semplice, ma è straordinariamente grande, intorno alla risoluzione 8K. La decodifica del video è costosa e ci sono pochissimi computer che possono gestire un video 8K, quindi la prossima sfida è stata trovare un modo per riprodurre questo video su HoloLens. Abbiamo sviluppato una serie di strategie per evitare il costo di decodifica mentre ancora rendendo l'utente come se fossero visualizzati l'intero video.
L'ottimizzazione più semplice consiste nell'evitare parti decodificate del video che non cambiano molto. Abbiamo scritto uno strumento per identificare le aree in ogni scena che hanno poco o nessun movimento. Per queste aree viene visualizzata un'immagine statica anziché decodificare un video ogni fotogramma. Per rendere questo possibile, abbiamo diviso il video di grandi dimensioni in blocchi molto più piccoli.
Abbiamo anche fatto in modo che ogni pixel decodificato sia stato usato in modo più efficace. Abbiamo sperimentato tecniche di compressione per ridurre le dimensioni del video; le aree video vengono suddivise in base ai poligoni della geometria che verrà proiettata su; abbiamo modificato le UV e repackato i video in base alla quantità di dettaglio diversi poligoni inclusi. Il risultato di questo lavoro è che ciò che è iniziato come un singolo video 8k è trasformato in molti blocchi che sembrano quasi incomprensibili fino a quando non vengono riprogetti correttamente nella scena. Per uno sviluppatore di giochi che capisce il mapping delle trame e la confezione UV, questo sarà probabilmente familiare.
Una vista completa del Pantheon prima delle ottimizzazioni.
La metà destra del Pantheon, elaborata per la riproduzione video.
Esempio di un'unica area video dopo l'ottimizzazione e la compressione.
Un altro trucco usato è stato per evitare la decodifica del video che non si sta visualizzando attivamente. Mentre in HoloTour, puoi vedere solo parte della scena completa in qualsiasi momento. I video vengono decodificati solo all'interno o all'esterno del campo visivo (FOV). Quando si ruota la testa, si inizia a riprodurre le aree del video che sono ora nel FOV e interrompere la riproduzione di quelli che non sono più all'interno di esso. La maggior parte delle persone non noterà nemmeno che questo accade, ma se si gira rapidamente, si vedrà che il video richiede un secondo per iniziare. Nel frattempo si vedrà un'immagine statica che poi si dissolve al video una volta che è pronto.
Per fare in modo che questa strategia funzioni, abbiamo sviluppato un ampio sistema di riproduzione video. Abbiamo ottimizzato il codice di riproduzione di basso livello per rendere il passaggio di video estremamente efficiente. Inoltre, abbiamo dovuto codificare i nostri video in modo speciale per rendere possibile passare rapidamente a qualsiasi video in qualsiasi momento. Questa pipeline di riproduzione ha richiesto una quantità significativa di tempo di sviluppo, quindi l'abbiamo implementata in fasi. Abbiamo iniziato con un sistema più semplice che era meno efficiente, ma ha permesso a designer e artisti di lavorare sull'esperienza, e lentamente migliorato in un sistema di riproduzione più solido che ci ha permesso di spedire alla barra di qualità finale. Questo sistema finale aveva strumenti personalizzati creati in Unity per configurare il video all'interno della scena e monitorare il motore di riproduzione.
Ricreazione di oggetti near-space in 3D
I video costituiscono la maggior parte di ciò che vedete in HoloTour, ma ci sono un certo numero di oggetti 3D che appaiono vicino a voi, come il dipinto in Piazza Veduta, la fontana al di fuori del Pantheon, o la mongolfiera che si trova in per le scene aeree. Questi oggetti 3D sono importanti perché la percezione della profondità umana è molto buona da vicino, ma non molto buona lontano. Possiamo allontanarci con il video a distanza, ma per consentire agli utenti di camminare intorno al loro spazio e sentirsi come se fossero veramente lì, gli oggetti nelle vicinanze necessitano di profondità. Questa tecnica è simile alla specie di cosa che si potrebbe vedere in un museo di storia naturale- immagine di un diorama che ha paesaggi fisici, piante e esemplari animali in primo piano, ma si recede in un dipinto opaco abilmente mascherato sullo sfondo.
Alcuni oggetti sono semplicemente asset 3D creati e aggiunti alla scena per migliorare l'esperienza. Il dipinto e il palloncino caldo rientrano in questa categoria perché non erano presenti quando abbiamo girato. Analogamente agli asset di gioco, sono stati creati da un artista 3D nel nostro team e con trame in modo appropriato. Questi vengono posizionati nelle nostre scene vicino a dove ti trovi e il motore di gioco può eseguirne il rendering nei due schermi HoloLens in modo che vengano visualizzati come oggetto 3D.
Altri asset, come la fontana al di fuori del Pantheon, sono oggetti reali che esistono nelle posizioni in cui stiamo girando video, ma per portare questi oggetti fuori dal video e in 3D, dobbiamo fare una serie di cose.
Prima di tutto, sono necessarie informazioni aggiuntive su ogni oggetto. Mentre si trova per la ripresa, il nostro team ha acquisito un sacco di filmati di riferimento di questi oggetti in modo da avere immagini abbastanza dettagliate per ricreare accuratamente le trame. Il team ha anche eseguito un'analisi di fotogrammi , che costruisce un modello 3D da decine di immagini 2D, fornendo un modello approssimativo dell'oggetto su larga scala.
Durante l'elaborazione del filmato, gli oggetti che verranno successivamente sostituiti con una rappresentazione 3D vengono rimossi dal video. L'asset 3D si basa sul modello di fotogrammetria, ma pulito e semplificato dai nostri artisti. Per alcuni oggetti, possiamo usare parti del video, ad esempio la trama dell'acqua sulla fontana, ma la maggior parte della fontana è ora un oggetto 3D, che consente agli utenti di percepire la profondità e camminare intorno a esso in uno spazio limitato nell'esperienza. Avere oggetti quasi spaziali come questo aggiunge notevolmente al senso di realismo e aiuta a mettere a terra gli utenti nella posizione virtuale.
Filmati pantheon con la fontana rimossa. Verrà sostituito con un asset 3D.
Considerazioni finali
Ovviamente, c'era più da creare questo contenuto rispetto a quello che abbiamo discusso qui. Ci sono alcune scene, ci piace chiamarle "prospettive impossibili", tra cui la corsa in mongolfiera e la lotta del gladiatore nel Colosseo, che ha adottato un approccio più creativo. Questi verranno affrontati in un case study futuro.
Speriamo che la condivisione di soluzioni per alcune delle sfide più grandi che abbiamo avuto durante la produzione sia utile per altri sviluppatori e che si sia ispirati all'uso di alcune di queste tecniche per creare esperienze immersive personalizzate per HoloLens. (E se lo fai, assicurati di condividerlo con noi nel forum sviluppo di app HoloLens!)
Informazioni sugli autori
David Haley è uno sviluppatore senior che ha imparato di più sulle macchine fotografiche e la riproduzione video rispetto a quanto pensava possibile dal lavorare su HoloTour. | Danny Askew è un video artista che ha fatto in modo che il vostro viaggio attraverso Roma sia stato il più impeccabile possibile. | ||
Jason Syltebo è un audio Designer che ha fatto in modo di poter sperimentare il paesaggio sonoro di ogni destinazione che visiti, anche quando torni indietro nel tempo. | Travis Steiner è un direttore del design che ha studiato e esplorato luoghi, creato piani di viaggio e diretto film in loco. |