Si conclude il periodo delle vacanze di Natale e fine anno! Le vacanze sono sempre una splendida opportunità per portare avanti progetti come questo, coltivati nel tempo libero e anche se questa volta le vacanze non sono state serene come avrei voluto, siamo riusciti a portare avanti il progetto su diversi fronti. In questo DevLog farò un rapido recap dei temi principali… pronti? Via!
Analisi Critica a Valle della review degli asset
Che cosa manca che cosa serve e che cosa deve essere migliorato?
La review completa degli asset è stato un ottimo momento per fare un'analisi del lavoro svolto fino qui.
Indubbiamente la review ha portato a piccoli e veloci miglioramenti di ogni componente di scena, soprattutto da un punto di vista organizzativo e di coerenza nei nomi nei materiali, una questione generale di pulizia e indubbiamente la scena ne ha beneficiato alleggerendosi parecchio, scaricando la memoria video non di poco. Tuttavia non ho potuto fare a meno di notare che alcuni asset non sono così buoni come sembravano nel momento in cui li abbiamo realizzati. Questo ovviamente si spiega in modo semplice: il progetto è partito ormai da diversi mesi e all'inizio la nostra esperienza con Blender era davvero rasente lo zero, di conseguenza alcuni dei primi asset peccano della ingenuità del principiante.
Nella fase di review mi sono limitato a pulire gli elementi in eccesso, le mesh da eventuali vertici duplicati, sistemare le normali, rimuovere texture e shader inutilizzati. Più di ogni altra cosa ho ridotto il livello di subdivision surface a beneficio dei tempi di calcolo del rendering.
Quello che non ho fatto per questioni di tempo (ed a volte anche di complessità) è stato mettere mano pesantemente alle mesh di alcuni asset creati con un approccio sbagliato all'origine e quindi difficilmente risolvibile, se non con una grande spesa in termini di tempo rifacendo lo stesso oggetto da capo.
Per fortuna non sono molti gli asset che versano in questa condizione ed in ogni caso la loro resa grafica nel rendering è comunque ottima, di conseguenza ho reputato non necessario intervenire in questo momento ed ho posticipato eventualmente l'intervento su queste mesh qualora fosse davvero necessario in futuro.
Il problema del sole [SOLVED]
Qualche tempo fa ho accennato ad un problema sorto con il passaggio alla versione 2.81 di Blender, ossia il problema del sole. Dopo un po’ di esperimenti ho verificato le differenze nel calcolo di luci ed ombre proiettate dalla lampada di tipo sole e ne è emerso quanto segue.
In Blender 2.80 i raggi del sole partivano dal punto in cui era posizionata la sorgente, come si può vedere nelle seguenti immagini:
Le immagini mostrano un sole, un piano orizzontale ed uno verticale e possiamo notare che spostando la luce da sinistra a destra del “muro” verticale l’ombra proiettata cambia completamente.
Vediamo ora cosa succede nelle stesse condizioni con Blender 2.81:
Come si può vedere l’ombra proiettata dal piano verticale non cambia spostando il sole a destra o a sinistra del muro, questo perchè i raggi del sole arrivano da grande distanza come fascio parallelo indipendentemente da dove si posiziona la sorgente nella scena.
Questo ultimo modello è sicuramente più in linea con altri software che ho utilizzato in passato e probabilmente possiamo dire che come rappresentazione del sole è più corretta, ma nella nostra scena crea non pochi problemi! Infatti se ricordate il nostro setup, abbiamo utilizzato una grossa sfera per racchiudere tutta la scena, mappata con una texture con la funzione di sfondo nei render. Fino a Blender 2.80 bastava posizionare il sole all’interno della sfera per avere una corretta illuminazione, mentre da Blender 2.81 la luce del sole impatta con la sfera e non arriva all’interno della cucina, indipendentemente dalla posizione della sorgente, interna od esterna alla sfera.
Per risolvere il problema abbiamo chiesto supporto sul forum di Blender.it dove un utente smart ci ha indirizzato verso la soluzione: modificare i nodi relativi al setup del mondo per avere la texture di sfondo senza che influenzi il setup luminoso della scena!
Il risultato si può ottenere nel seguente modo:
a fare la magia è il nodo Light Path
Il problema del glitch dei contenitori
Dopo aver completato la review e l'ottimizzazione di tutti gli asset e dopo aver ricreato da zero l'intera scena (ancora una volta) linkando tutti gli asset, ho voluto fare delle prove di rendering per testare il progetto. Volevo sincerarmi di non aver combinato pasticci e che tutto fosse ancora visivamente immutato (rispetto alla precedente scena completa). In secondo luogo ero interessato a valutare in termini numerici l'effettivo miglioramento a livello di carico di sistema e di tempi di calcolo.
Dai primi render che ho realizzato ho potuto constatare che qualche asset aveva risentito del lavoro di semplificazione e ottimizzazione, in particolare quelli che facevano un ampio uso del subdivision surface associato ad una mappatura UV delle texture. Riducendo il livello di subdivision alcuni particolari della mappatura UV si sono rovinati risultando in una texture applicata male, è stato quindi necessario intervenire per ripristinare una corretta mappatura.
Il problema più serio emerso dai render test è uno strano glitch che compare nella scena...
Apparentemente sembra una macchia bianca dai contorni irregolari e si posiziona sempre nella stesso punto. È ripetibile sempre sullo stesso fotogramma e curiosamente non si manifesta nel fotogramma precedente e nel fotogramma successivo.
Il test render è stato fatto con una telecamera che si muove nella scena su un totale di 420 frame e nei frame calcolati circa un 5% manifestano questo glitch. Al momento in cui sto scrivendo questo DevLog non siamo ancora riusciti a venirne a capo e dopo alcune prove generali sulla illuminazione, sul bake della luce indiretta e altri tentativi sparsi con l'obiettivo di individuare la causa del fenomeno... non hanno portato a nulla. Seguiranno aggiornamenti su questo fronte in futuro, nel frattempo è stata aperta una discussione su Blender.it, se volete partecipare siete i benvenuti!
Omaggi, tributi ed easter egg
Piccola nota a margine:
Il lavoro degli ultimi mesi è stato particolarmente impegnativo e non particolarmente divertente, sebbene i frutti di questo impegno siano ben visibili su vari fronti e quindi non ci si lamenta assolutamente del lavoro svolto. Tuttavia penso sia normale ogni tanto voler ricercare qualche piccola soddisfazione, qualche piccolo svago per alleggerire l'attività.
Per questo motivo d'accordo con il buon @Wulfgar abbiamo deciso di inserire nella scena alcuni piccoli e simpatici omaggi e tributi a vario titolo... Alcuni sono relativi al mondo di Blender, ragion per cui ogni buon blenderista dovrebbe riuscire ad individuarlì facilmente, mentre altri sono a titolo personale di conseguenza è probabile che non li noterà o capirà mai nessuno. Ma dopotutto lo scopo è solo divertirsi un po' giusto?