Lighting per VR
L’immagine, da sempre, influenza il mio modo di creare. Vedo il mondo a colori, ma costantemente racchiuso all’interno di parametri percettivi e tecnici ben definiti,...
Filtra per Categoria
L’immagine, da sempre, influenza il mio modo di creare. Vedo il mondo a colori, ma costantemente racchiuso all’interno di parametri percettivi e tecnici ben definiti,...
Vorrei cominciare questo articolo condividendo con voi un video particolarmente esemplificativo. La scena è tratta dal film ‘The Artist’, diretto da Michel...
Il matte painting (letteralmente: ‘pittura degli sfondi’) è una tecnica largamente usata nel mondo del cinema, che consente di realizzare, verosimilmente senza grosse...
Una volta ricevuti gli asset 3d realizzati da Yuri ed i concept effettuati da Thomas, mi sono messa all’opera sul texturing degli interni. Nonostante avessi un’idea...
Possiamo considerare il rig dei characters come l’anello che congiunge la fase di modellazione con quella dell’animazione. Il rig, difatti, è la costruzione di una...
Per la realizzazione della scenografia di Vajont ho dovuto tenere a mente tre fondamentali richieste: la dimensione della stanza, e la conseguente disposizione degli oggetti...
Come abbiamo già visto nell’articolo dedicato al texturing della pelle e dei dettagli del viso, il texturing consente di raccontare parte della storia senza scomodare gli...
La maggior parte delle fasi di produzione di un progetto 3D implica un momento di ricerca e studio delle references: i character artists ricercano immagini che utilizzeranno...
Quanta storia può raccontare un dettaglio? Credo che il mio lavoro possa essere riassunto in quest’unica domanda. Il texturing non è solamente l’applicazione di colore ad un...
Quanto sono importanti i capelli per definire l’età di un personaggio, la cultura e l’epoca d’appartenenza? C’è una sola risposta a queste domande: tantissimo. Probabilmente, se...
L’immagine, da sempre, influenza il mio modo di creare. Vedo il mondo a colori, ma costantemente racchiuso all’interno di parametri percettivi e tecnici ben definiti, che vanno dalle più generiche ed evocative parole come sensazioni e mood, alle più specialistiche, come tinta, temperatura colore, schema di illuminazione. È una sorta di deformazione professionale: come artista visiva, ho sempre attinto a piene mani dalla tecnica fotografica, ed ho anche alle spalle studi come direttore della fotografia.
Ho passato anni a ricercare, stilare ed introiettare un personale, rigido codice visivo fatto di immagini ben definite ed un’instancabile ricerca di una giusta luce.
Così, fin dalle prime fasi di scrittura di Vajont, sentivo impellente il bisogno di conferire anche a questo progetto – così distante dai miei lavori precedenti – qualcosa che fosse realmente mio: l’attenzione al mood visivo ed un’illuminazione degli ambienti che fosse coerente con la storia. In soldoni: una buona direzione della fotografia.
Ho dunque deciso di occuparmi del lighting in prima persona, avendo chiaro in mente il risultato finale che mi sarebbe piaciuto raggiungere. Decisamente una bella sfida per me, che non mi ero mai trovata a lavorare al lighting di progetti real-time.
Come alcuni di voi sapranno, non è sempre semplice ottenere un risultato realistico, quando si parla di lighting per il VR. I limiti tecnici imposti da questa tecnologia sono moltissimi quando si ambisce al fotorealismo: le luci dinamiche – di cui parleremo a breve – assorbono molta potenza di calcolo, rischiando di incidere sulla performance. Non una buona premessa, quando bisogna mantenere un numero elevato di frame-per-second per evitare fenomeni di sickness: per chi volesse approfondire questo argomento, può trovare alcune informazioni negli articoli dedicati al rigging per VR ed alla realizzazione dei capelli per VR, sempre su questo blog.
Così, nel ricercare la giusta strada da seguire nell’illuminazione di questo progetto, ho scelto di fare un passo indietro. Credo il passaggio fondamentale sia avvenuto nel momento in cui mi sono posta la domanda: cosa rende un lighting realistico?
La risposta più istintiva – almeno per un direttore della fotografia – certamente riguarda il numero dei rimbalzi di luce, la qualità e la definizione delle ombre, le riflessioni. Tutti parametri certamente implementabili e modificabili nei motori di render, sia in termini di impostazioni fisiche della luce (nonostante ottenere ombre realistiche in Unity sia veramente una sfida…), sia in termini di materiali assegnati agli oggetti – in gergo tecnico, ‘shaders’.
La risposta mi soddisfaceva? Direi di no. Sentivo che mancava qualcosa. Lentamente è affiorata una nuova idea, molto più banale nei suoi principi, e contemporaneamente molto complessa da realizzare in VR.
Cosa c’è di più reale – mi sono chiesta – di un sole che tramonta all’orizzonte, e della conseguente necessità di accendere la luce?
L’idea di integrare un cambio di illuminazione – da luce naturale a luce artificiale – ha decisamente contribuito ad allargare il mio concetto iniziale di realismo.
Ho deciso di implementare nell’esperienza tre diversi mood – e, di conseguenza, tre diversi lighting – affinché essi supportassero i diversi momenti della narrazione.
Trovarsi all’interno di un ambiente VR – soprattutto per i neofiti – può essere un’esperienza davvero disorientante. Mi sono quindi servita di una luce calda, accogliente e naturale per accompagnare il partecipante in un ‘luogo sicuro’, e sostenere queste sensazioni positive fino ad un completo ambientamento.
Ho gestito la transizione dall’accoglienza ad un’atmosfera grave – quella propria dell’esperienza – facendo arrivare il buio, e dunque invitando il partecipante ad accendere la luce.
Ho chiesto a Thomas – il concept artist – di realizzare alcune prove colore, per meglio aiutarmi a visualizzare i diversi mood: luce naturale dal tono aranciato, buio, luce artificiale.
Credo sia fondamentale sottolineare il fatto che esistono grandi affinità tra l’illuminazione di un piano sequenza cinematografico ed il lighting per videogame/VR. Poiché le esperienze in Realtà Virtuale non presentano tagli di montaggio, bisogna pensare il lighting affinché si mantenga una chiara lettura sia nelle alte luci che nelle ombre.
Non solo: un buon lighting è in grado di guidare il partecipante all’interno del flusso di usabilità dell’esperienza, evidenziando particolari aree di interesse e mostrando azioni particolari.
Prima di addentrarci nei dettagli di come ho realizzato il lighting di Vajont, vorrei
appuntare alcuni concetti tecnici, per facilitare la lettura e la comprensione dell’articolo anche a chi tra noi ha un background meno specializzato.
Parafrasando Wikipedia, una render-pipeline è un modello che descrive i passaggi da eseguire per restituire un’immagine in due dimensioni (dunque, su uno schermo), partendo da oggetti tridimensionali presenti in scena. Ciascuna render-pipeline dispone dei propri algoritmi per la gestione della luce e dei diversi shaders.
Vajont è stato sviluppato utilizzando la Universal Render Pipeline di Unity, per la sua versatilità nell’adattarsi al maggior numero possibile di devices, oltre ad una resa grafica di tutto rispetto.
Come molti di voi sapranno, le luci in un motore di render real-time si dividono in due principali categorie: luci in bake – ovvero statiche – e luci dinamiche. Effettivamente ci sarebbero anche le luci mixed, ma per le loro caratteristiche vi rimando alla pagina di Unity dedicata.
Una tipologia di luci pre-renderizzate, esse agiscono sugli elementi statici dell’ambiente – come ad esempio le pareti della stanza, gli oggetti interattivi etc. – senza avere effetti sulla performance. Le luci vengono generate e ‘fissate’ – attraverso un bake – su delle apposite mappe, che prendono il nome di ‘lightmap‘; quando l’esperienza viene mandata in play, le lightmap vengono sovrapposte alle texture, con una modalità di fusione che consente ad esse di simulare una vera e propria illuminazione.
Una tipologia di luci renderizzata in tempo reale, che agisce sugli elementi in movimento oppure interattivi. Poiché la luce rimbalzerà su di essi sempre in modo diverso, è necessario che il loro effetto venga ricalcolato in real-time. Per questo motivo, le luci dinamiche pesano molto in memoria, così da doverne limitare l’uso (soprattutto in real-time).
Sono degli effetti che vengono applicati al buffer della camera virtuale – che, nel caso del VR, coincide con la posizione degli occhi del partecipante – prima che l’immagine appaia sullo schermo. Ispirati ai processi di post-produzione provenienti dal mondo del cinema, essi consentono di gestire agilmente color grading e color correction. Ciascuna render-pipeline dispone dei propri post-process.
Ho cominciato il mio workflow partendo dall’illuminazione generale dell’ambiente – ovvero, dalle luci in bake. Ho fatto molti tentativi col sistema di lighting integrato in Unity, ma nessuno di loro mi ha lasciato pienamente soddisfatta: light-leaking – ovvero, infiltrazioni di luce attraverso angoli chiusi -, ombre irrealistiche, poca definizione…
Finché non ho scoperto Bakery.
Come potrete intuire dal nome, Bakery è un plugin appositamente progettato per il bake delle luci. La sua facilità d’uso, unita alla qualità dei suoi bake, ne fa per me un tool davvero indispensabile. Esso dispone di diverse tipologie di luci – simili ad altri software affini -, ciascuna con proprie caratteristiche e peculiarità.
Per quanto riguarda l’illuminazione di giorno, ho utilizzato esclusivamente delle area-light.
Venendo io dal mondo del cinema, ho riscontrato una grandissima affinità tra le area-light ed i Kino Flo, lampade a fluorescenza che proiettano ombre morbide e verosimili: effetto molto naturale, che mi interessava ricreare.
Di seguito, un particolare della stanza, così come realizzato con Bakery.
Ho dunque aggiunto alcune luci dinamiche, così da interagire con gli elementi non statici (come, ad esempio, i personaggi).
Per l’illuminazione notturna ero invece alla ricerca di un mood più grave, in cui la percezione dell’instabilità e del pericolo fosse qualcosa di sussurrato all’interno di un ambiente più o meno ordinario: ho deciso di ricreare una lampadina poco potente, non sufficiente a dare piena visibilità alla stanza.
Ho ricreato l’effetto utilizzando una point-light – una sorta di ‘punto’ che irradia luce in tutte le direzioni – al quale ho applicato una IES light, particolare maschera capace di plasmare l’intensità luminosa, ricalcando dati fisici realmente raccolti da sorgenti luminose.
La transizione tramonto-notte è stata gestita attraverso l’animazione di un post-process.
Per quanto riguarda invece la transizione tra luce naturale e luce artificiale – che necessitava anche di una sostituzione tra le due diverse lightmap – Marco, il nostro Unity Developer e Technical Designer, ha realizzato un apposito script in Unity, così da consentire il cambio in un click.