Ancora oggi dopo mesi di lavoro con Blender 2.80 vivo quella sensazione di novità, di strumento ancora da scoprire. In "men che non si dica" mi trovo già a dover scegliere se migrare il progetto alla nuova Release stabile 2.81B.
Dal changelog ufficiale non emergano cambiamenti rilevanti, beh almeno non inierenti al nostro progetto... o almeno così credevo. Non sembrava esserci una reale necessità di effettuare la migrazione alla nuova release tuttavia leggendo on-line varie discussioni, vari commenti positivi relativi a incrementi delle prestazioni e migliorie in interfaccia grafica e strumenti di utilizzo quotidiano com l'outliner, ho pensato che potesse essere un bene anche per noi utilizzare direttamente la nuova versione 2.81. Non mi aspettavo grandi stravolgimenti.
E come ogni volta che faccio un ragionamento di questo tipo nulla và come pronosticato.
Ho scaricato la nuova Blender 2.81 e ho aperto il progetto: ho fatto subito un bel rendering con Eevee e mi sono accorto immediatamente di tutta una serie di stranezze legate alle texture ed alle luci/ombre.
Allora sono andato indagare e nella Wiki di Blender dove venivano spiegate molto bene le differenze nella gestione delle ombre in Eevee ho capito che bisognava rimettere mano al comparto illuminazione.
In buona sostanza sono stati rimossi i metodi di calcolo delle soft shadows chiamate e sms/bsm in favore di un unico metodo di calcolo semplificato che porta tuttavia ad una migliore resa grafica.
In buona sostanza dalla versione 2.81 la scelta di avere ombre nette o soft shadows dipende dall'attivazione del relativo parametro e agisce a livello globale tutta la scena e su tutte le luci, dopodiché si possono regolare gli effetti delle soft shadows grazie al parametro bias di ogni luce.
L'unico inconveniente (dal mio punto di vista) di questo nuovo approccio è che per ottenere ombre con delle sfumature/gradazioni gradevoli sui bordi e non un visibile effetto scalettatura è necessario aumentare il numero di samples nella relativa scheda di Eevee. Finora non avevo avuto grossi problemi lavorando con un quantitativo di samples decisamente più contenuto.
Si tratta di una scoperta troppo recente e non ho ancora i numeri per dirlo ma la sensazione generale è che otterremo delle ombre ed un livello di illuminazione migliore di quello precedente al costo di un maggior tempo di calcolo del rendering di ogni frame, ma un'analisi numerica di questo tipo verrà fatta solo più avanti.
Un altro problema interessante e che non ha ancora una soluzione è legato alla luce del sole.
Come abbiamo già discusso in passato in un'altro DevLog, lo studio delle luci e della illuminazione della scena ha portato ad escludere l'utilizzo delle mappe HDR per via di artefatti irrisolvibili ed incompatibili con la qualità finale.
Per fornire una ambientazione esterna visibile dalle finestre abbiamo utilizzato comunque un'immagine sferica proiettata all'interno di una grossa sfera che circonda tutta la scena.
Ovviamente avevamo posizionato tutte le luci all'interno della sfera per realizzare il setup che desideravamo in Blender 2.80.
Il problema sembra essere questo: da quando siamo passati alla 2.81 il sole è sparito. Nonostante sia posizionato correttamente all'interno della sfera che circonda l'intero ambiente il contributo del sole non è visibile. Tuttavia facendo un po' di prove emerso che togliendo la sfera, il sole torna ad illuminare la scena. Sembra quindi che in Blender 2.81 a prescindere da dove sia posizionato fisicamente nella scena l'oggetto luce di tipo sole, i raggi del sole arrivano invece da distanza infinita colpendo quindi l'esterno della sfera circostante e non entrando all'interno.
Non ho ancora avuto modo di cercare nei blog o nei changelog per avere conferma di questa differenza, tuttavia se così fosse non sarei particolarmente stupito perché avendo usato in passato anche altri strumenti di modellazione e rendering, mi è capitato di utilizzare più volte la luce di tipo sole in questo modo, posso dire che una modifica di questo tipo è più in linea con altri strumenti sul mercato rispetto a come era in precedenza. Tuttavia mi si pone il problema di non riuscire più a utilizzare il sole nella scena.
A questo punto il compito di questa settimana sarà studiare una soluzione e per il momento mi orienterò nella ricerca verso due possibili approcci:
- capire come se e come applicare l'environmental map come si fa con le mappe HDR ma senza influenzare il setup luminoso della scena, quindi applicarla solo a livello di texture del background
- indagare se è possibile far passare i raggi del sole attraverso la sfera che circoscrive la scena come se fosse trasparente, senza ovviamente perdere la visibilità della texture