Autore:AXYZ DESIGN
Data:2017-10-27
ANIMA 2 | TIMERIDE COLOGNE, UN'ESPERIENZA VR UNICA
L'esperienza
di Michael Plängsken | Ground-studios.de GROUND STUDIOS mostra uno sguardo interno alla produzione CG di TimeRide VR, in cui ANIMA è stata pesantemente utilizzata per l'animazione della folla.
Nella sede appena inaugurata a Colonia, TimeRide VR presenta una nuova attrazione per i turisti e i cittadini di Colonia, tra cui una straordinaria esperienza VR fuori casa multiutente.
Durante i circa 45 minuti di permanenza, il visitatore intraprende un viaggio attraverso la Storia di Colonia. Il punto culminante della mostra in corso è un giro in tram di 15 minuti attraverso la città vecchia di Colonia come è apparso all'inizio del 20 ° secolo - prima di entrambe le guerre mondiali.
Il visitatore siede virtualmente e fisicamente in una riproduzione di uno di questi tram che furono inaugurati a Colonia nel 1901. Sentendo una leggera brezza e le vibrazioni del tram, il visitatore si tuffa nella scena storica con tutti i sensi e può ammirare non solo la splendida architettura, ma diventa testimone di un periodo di tempo con tutto il suo fascino.
Idea del prodotto, concept del punto vendita e business quotidiano sono sviluppati e condotti dalla società TimeRide GmbH.
Concetto tecnico (approccio ibrido)
Per costruire e ottimizzare una parte così grande di una città per un motore di gioco, è necessario molto lavoro, come la creazione del LOD per tutte le risorse e i corretti layout UV per la cottura leggera. Abbiamo dovuto evitare questa quantità extra di lavoro utilizzando una soluzione ibrida. La risposta più efficace è stata la visualizzazione di un film pre-renderizzato su una monosfera attorno a un tram in gioco, tutto messo insieme in Unity. In questo modo, abbiamo la parallasse per tutto ciò che si trova nella gamma close-up e allo stesso tempo l'ambiente è un video monoscopico con risoluzione di 4096x2048 pixel a 360 ° pre-renderizzato.
Ma perché non un video stereoscopico? Una ragione ovvia è lo sforzo di rendering raddoppiato. Ma il problema principale è che inclinare la testa in un video stereoscopico è davvero spiacevole e spesso fa ammalare le persone immediatamente. Anche codificare e riprodurre video stereoscopici con una risoluzione accettabile è un problema, quindi abbiamo deciso di adottare la soluzione monoscopica senza effetti collaterali.
Pianificazione
La sfida più grande, il fatto che abbiamo avuto un solo colpo singolo, nessun taglio, 360 gradi di vista, per quasi 20.000 fotogrammi, ci ha messo dei limiti. Le modifiche al layout dell'ambiente dovevano essere ridotte al minimo il più possibile, il che rendeva la pianificazione e la corretta realizzazione per la prima volta la massima priorità.
Oggi la maggior parte degli edifici e persino alcune strade sono scomparse da tempo. Alcune parti sono state ricostruite, ma la maggior parte è stata sacrificata nei tempi di ricostruzione postbellica.
Fortunatamente, Colonia è una città molto ben documentata, con un sacco di foto storiche, dipinti, libri e cartoline, nonché mappe stradali e catastali molto antiche. Tuttavia, a causa della mancanza di informazioni affidabili sull'anno esatto in cui sono stati originati quei documenti, è stata impiegata un'enorme quantità di tempo nella ricerca e nel lavoro sui puzzle. Durante la fase di pianificazione abbiamo avuto un sacco di disallineamenti che dovevano essere rigorosamente controllati ed eliminati.
La maggior parte delle dimensioni degli edifici nelle foto sono state stimate in relazione alla dimensione dei pedoni e sono state allineate alle informazioni che siamo stati in grado di estrarre dalle mappe.
Tutti questi dati hanno portato a un modello 1: 1 approssimativo con il layout dell'ambiente finale e le caselle di delimitazione per tutti gli edifici richiesti. Questa era la base essenziale per ulteriori pianificazioni, la pianificazione della modellazione della casa, l'ombreggiatura, le creazioni di beni, nonché per animazioni ed eventi speciali.
Sviluppo di utensili
Affrontando le sfide legate alla creazione e gestione di migliaia di risorse e edifici, abbiamo voluto automatizzare il più possibile il processo. Allo stesso tempo abbiamo dovuto evitare le insidie tipiche, le tecniche procedurali possono creare, come schemi ripetitivi e istanze ovvie di edifici o beni. Garantire un aspetto coerente e la qualità delle nostre risorse era essenziale, così abbiamo sviluppato una serie di strumenti con ciascuno di loro facendo una cosa eccezionalmente bene.
Per quanto riguarda la modellazione di case, stavamo costruendo manualmente le forme individuali di base e abbiamo aggiunto molti dettagli utilizzando questi set di strumenti interni. Ad esempio, finestre e tende sono state aggiunte semplicemente selezionando alcuni poligoni sull'edificio e scegliendo uno dei preset accuratamente preparati. Questo generatore di finestre ha dimostrato di essere uno strumento inestimabile e ci ha permesso di risparmiare moltissimo tempo a lungo termine. Posizionare dozzine di finestre e tende per centinaia di edifici a mano non è solo un compito scoraggiante, ma anche una fonte di errori e richiede molto tempo, soprattutto in edifici vecchi dove le dimensioni e le proporzioni raramente seguono regole o norme.
Le larghezze dei bordi sono assolute e i posizionamenti di suddivisione sono relativi alla selezione del viso e quindi unici per ogni finestra, difficili per gli umani ma semplici per uno script. Puoi, naturalmente, anche sperimentare, cambiare parametri e provare ogni preset in pochi secondi, il che sarebbe difficile da fare manualmente. Unwrapping è stato completamente automatizzato e le decals per lettering o poster sugli edifici sono state aggiunte semplicemente trascinando una selezione su una bitmap e facendo clic nella scena 3d per posizionarle.
Idealmente, tutto ciò che non richiede una decisione artistica dovrebbe essere automatizzato, liberando tempo ed evitando noiosi compiti ripetitivi.
modellismo
Dopo aver ispezionato tutte le foto e le mappe storiche, abbiamo iniziato a pianificare la modellazione di oltre 150 edifici ad alto dettaglio in tutto il nostro ambiente.
La difficoltà di modellare questi edifici era fortemente dipendente dalla qualità e dalla quantità delle foto disponibili. In alcuni casi solo l'enorme quantità di foto a bassa risoluzione o foto sfocate ha aiutato a identificare i dettagli architettonici o a decifrare le scritte.
Dopo aver terminato tutti gli edifici importanti, abbiamo proceduto a completare il resto dell'ambiente architettonico, producendo oltre 600 edifici accuratamente modellati.
Sono stati aggiunti dettagli come lanterne, tende da sole, scritte e poster. Soprattutto per le tende, Railclone si è dimostrato di grande aiuto.
Abbiamo creato un sistema di tende da sole con diversi stili e configurazioni integrati. La lunghezza e l'angolo di inclinazione sono stati controllati tramite ID materiale sulla spline stessa. Ones per la lunghezza e decine per l'angolo. In questo modo è stato molto facile collocarli e randomizzarne centinaia in pochissimo tempo, senza essere obbligati a toccare le impostazioni di Railclone.
Texturing / Shading (sistema di ombreggiatura)
Di solito, ogni oggetto diverso dall'altro riceve il proprio materiale / shader. Il tipico flusso di lavoro consiste nel copiare uno shader dall'edificio A all'edificio B e modificare alcune impostazioni per renderlo diverso.
Sfortunatamente questo significa che hai un nuovo materiale completamente indipendente. A seconda della complessità, hai bisogno di molto tempo per scavare nell'albero dello shader, trovare quella particolare spinner che vuoi cambiare e ripetere più volte per ogni copia.
Il nostro sistema di ombreggiatura si basa su master shader, in cui i valori che devono essere regolabili sono memorizzati in proprietà dell'oggetto personalizzate invece del materiale stesso. È possibile accedere a questi valori utilizzando speciali tipi di mappe di texture. In questo modo abbiamo creato una serie di master shader in cui ogni parametro che un utente può voler cambiare è impostato come una mappa VrayUserColor o VrayUserScalar.
Inoltre, abbiamo fatto un uso intensivo di Vertex Paint per fondere tra mattone e intonaco o sporco automatico e diretto. Ciò significa che puoi assegnare questi shader a qualsiasi numero di oggetti e modificare i colori o altre proprietà dei tuoi materiali semplicemente modificando un gruppo di impostazioni sul tuo oggetto stesso. Quindi, se vuoi cambiare il colore o la quantità di sporco su una casa, devi solo modificare una proprietà su quell'oggetto specifico - non modifichi lo shader stesso. I vantaggi sono enormi. Ad esempio, puoi facilmente creare centinaia di variazioni di uno shader senza la necessità di duplicare lo shader per ogni singola modifica. Un enorme vantaggio in termini di flessibilità e velocità durante l'ombreggiamento. In cima era assicurata la consistenza desiderata per quanto riguarda l'aspetto e l'aspetto dei beni.
Abbiamo creato piccoli strumenti in maxscript per aiutarci a gestire i nostri master shader e rendere più semplice per gli artisti assegnarli e modificare le proprietà dell'utente. Utilizzando questo approccio siamo stati in grado di tessere e ombreggiare i nostri edifici in pochi minuti ciascuno e hanno ancora un sacco di variazione e controllo.
Un'altra tipica sfida della creazione di ampi spazi esterni è rappresentata da trame non ripetitive. A volte puoi scappare con una telecamera intelligente o un posizionamento di asset e talvolta puoi semplicemente usare multitexture o altri plugin per randomizzare le tessere su spazi grandi. Tuttavia, nel nostro caso, avevamo bisogno di uno shader di terra che fosse convincente e interessante mentre lo guidavamo a bassa velocità per oltre un chilometro. Poiché la metà della corsa procede dritta, noterai immediatamente le ripetizioni come uno schema. Per prima cosa abbiamo creato le nostre texture di ciottoli proceduralmente in designer di sostanze, esportando canali diffusi, normali, di rugosità e di altezza e poi costruito i nostri shader di base in max.
Per evitare le ripetizioni di pattern precedentemente menzionate, abbiamo usato un plugin chiamato "Warp Texture" che può essere trovato su www.maxplugins.de.
In combinazione con un rumore di uno spazio del mondo, puoi distorcere leggermente le tue trame di base e in gran parte eliminare le ripetizioni. In aggiunta, abbiamo mescolato diversi tipi di sporco, sabbia e acqua. Ognuno utilizza diversi rumori del mondo e, soprattutto, tiene conto della mappa dell'altezza del ciottolo.
In questo modo puoi creare pozzanghere dall'aspetto naturale e depositi di sporco lungo il percorso. Sfortunatamente, la trama del warp non è stabile quando si usa lo spostamento e si tende ad arrestare il crash di 3ds max, quindi abbiamo dovuto fare affidamento solo sulle normali mappe.
Rendering / illuminazione
Il rendering di quasi 20.000 fotogrammi in risoluzione 4K richiede una pianificazione e uno sguardo ravvicinato alle ottimizzazioni. Oltre agli alti costi finanziari, stavamo anche usando versioni e script di plugin personalizzati che rendevano impossibile l'uso di una render farm commerciale. Il rendering del cloud, come la creazione della nostra farm di rendering cloud Amazon o Google, è stato considerato ma si è rivelato inefficace a causa dell'elevata quantità di dati che dovremmo caricare e aggiornare ogni volta che dovevamo eseguire il rendering di un paio di frame di test. Quindi abbiamo deciso di aggiornare la nostra render farm interna e di eseguire il rendering di tutto localmente.
Abbiamo fatto diverse cose per ridurre il più possibile i tempi di rendering. Prima di tutto, l'ottimizzazione della risoluzione della texture è sempre una buona idea. Può aiutare a ridurre i tempi di avvio del rendering e ci ha permesso di spendere una parte maggiore della nostra RAM disponibile per le persone che frequentano la folla e altri oggetti animati. Come accennato in precedenza, abbiamo usato un sistema shader personalizzato usando materiali master. Questi materiali sono stati costruiti tenendo presente il tempo di rendering e il conteggio delle texture, quindi l'impronta di memoria di tutti gli edifici era molto bassa a causa della sua natura più procedurale. Abbiamo anche evitato l'uso di mappe complesse come la correzione del colore o del composito che possono influire negativamente sui tempi di rendering. Molto può essere fatto con le mappe Mix, VrayCompTex e Output, che sono tutte molto veloci da processare e fondamentalmente non influenzano affatto i tempi di rendering.
Il prossimo grande collo di bottiglia è ovviamente l'illuminazione e il campionamento, in particolare l'illuminazione globale. Abbiamo iniziato con un approccio di tipo Brute Force e Lightcache GI che normalmente avrebbe funzionato abbastanza bene, ma avevamo bisogno di ottenere tempi di rendering ancora più brevi. Abbiamo deciso di non utilizzare affatto il GI e di simularlo con un VrayAmbientLight utilizzando una trama VrayDirt come una mappa luminosa. Sorprendentemente, la differenza visiva era trascurabile, anche nelle strade con edifici alti su entrambi i lati. La chiave per ottenere un risultato più piacevole e realistico con quella tecnica è un raggio elevato e una diminuzione più morbida nella AO. Oltre a ciò, Illuminazione includeva solo un VraySun, un HDRI in background e l'effetto atmosferico VrayAerialPerspective per l'aspetto mattutino nebbioso.
Dopo una lunga ricerca e screening di centinaia di foto storiche, è stato creato un elenco di vestiti significativi. Affittati da un televisore tedesco, tutti questi costumi sono stati catturati tramite fotogrammetria e sono stati ottimizzati per l'utilizzo a basso costo e a basso consumo. Nella seguente figura puoi vedere alcuni esempi.
Le animazioni sono state divise in tre parti:
- 1. animazione folla, che doveva essere automatizzata
- 2. Animazione di personaggi speciali, derivata da una sceneggiatura diretta
- 3. Animazione in tempo reale di ingame per il conducente del tram
Tuttavia, con la versione 2.6.0, non c'era modo di compensare le animazioni per quelle sezioni separatamente. Per ottenere una folla animata all'ultimo minuto della corsa, era necessario eseguire una simulazione completa dal primo all'ultimo fotogramma, non importa se la folla è visibile o nascosta dietro i muri. Ciò ha comportato un'enorme quantità di dati cache non necessari e tempi di simulazione estremamente lunghi.
Il supporto di AXYZ Design è sempre stato di grande aiuto. Abbiamo spiegato la situazione e ottenuto un feedback rapido: i ragazzi ci hanno invitato per una chiamata su Skype (battere quella, Autodesk!).Sapevamo esattamente di cosa avevamo bisogno per far funzionare Anima nel nostro file di scena, quindi il team di Anima ha aggiunto una funzione al plugin max. Ora, siamo stati in grado di compensare l'ora di inizio della simulazione per ogni sezione in modo indipendente. In Anima, disegni linee che diventano passerelle per gli attori. Dopo aver popolato tutti i percorsi, premi il pulsante di riproduzione e fai simulare l'animazione della folla. Durante il gioco, il software si preoccupa che gli attori si evitino a vicenda, "socializzino", rallentino se qualcuno si intromette, o addirittura vengano eliminati quando le collisioni non possono essere evitate.
Negli scatti estremamente lunghi gli attori tendono a raggrupparsi, perché gli attori più corti come i bambini sono più lenti degli attori più alti. Per lo più finisce in gruppi, camminando in fila singola con un bambino o una donna in testa. Sembrava divertente ma non realistico. La soluzione del team AXYZ ha ridotto il tempo di simulazione a circa 6000 fotogrammi per sezione e ha ucciso due piccioni con una fava: ridotto aggregamento e ridotto numero di cachesize. Eccezionale! Non possiamo ringraziare abbastanza Diego Gadler e il suo team!
Abbiamo quindi importato il progetto Anima in max e abbiamo eseguito una piccola sceneggiatura che controllava le intersezioni con i nostri veicoli e le animazioni speciali. Anima non è in grado di gestire ancora ostacoli in movimento, ma abbiamo dovuto evitare di far passare gli attori direttamente attraverso le carrozze o il tram. Questi attori sono stati quindi rimossi dalla sceneggiatura.
Animazioni speciali / Motion Capture / Ingame Animations
Per portare ancora più vita nella scena, abbiamo aggiunto alcune animazioni speciali. Che sono stati catturati nel nostro studio di motion capture interno.
Per ottenere la migliore immersione con il corretto effetto stereo e parallasse, il tram, i passeggeri e il suo autista sono stati realizzati all'interno del motore. Ma questo è un argomento più ampio per un'altra volta. Lo lasciamo con una breve clip:
Post / Compositing / Encoding
Il compositing era piuttosto semplice. Di solito rendiamo tutto in esadecimale float a 16 bit e aggiungiamo un paio di elementi di rendering per piccoli aggiustamenti in post. Tuttavia, 20.000 frame in risoluzione 4k riempiono lo spazio su disco abbastanza velocemente. Quindi abbiamo deciso di rendere solo gli elementi di cui avevamo assolutamente bisogno. Nel nostro caso il pass di bellezza, una versione vietata e alcune maschere. Abbiamo anche reso un passaggio aggiuntivo per tutti gli elementi di fumo e li abbiamo aggiunti sopra.
Un aspetto più interessante della comp potrebbe essere il nostro approccio per convertire prima i dati lineari in log e quindi creare la nostra curva di conversione per riportare i valori in una gamma visivamente piacevole. In questo modo abbiamo il controllo completo ed evitiamo i tipici problemi di mappatura dei toni per abbattere i punti salienti ma lavare il resto dell'immagine.
Chi siamo
GROUND STUDIOS è uno studio di produzione 3D versatile, che crea effetti visivi per TV e cinema, visualizzazioni per l'industria e l'architettura, nonché animazione per spot pubblicitari e videogiochi. Lavoriamo con 3ds max come nostra principale applicazione 3D, integrata da V-Ray, Substance, Anima, Forest Pack e Railclone. Per la post-produzione usiamo Fusion e After Effects.
Stiamo lavorando in stretta collaborazione con le nostre società partner "Humanoid" per la motion capture e la produzione di video 360, "AS-Music" per musica ed effetti sonori, nonché "Agency for Virtual Reality" (A4VR) per il design concettuale e reale implementazione del tempo. Questa collaborazione ci rende estremamente efficaci e competitivi nel numero crescente di aziende di produzione di VR.
Per maggiori informazioni vai a:
http://www.ground-studios.com/
https://www.timeride.de