Community Forum Supporto Utenti Supporto Illuminazione, nodi e rendering Problema illuminazione indiretta [Blender 2.81 – Eevee]

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #771732
    joaulo
    Partecipante
    @joaulo

    Buonasera a tutti,

    mi trovo in difficoltà per l’ennesima volta con il progetto che sto portando avanti, questa volta il tema riguarda l’illuminazione indiretta.

    Come da titolo, sto utilizzando Blender 2.81a ed Eevee, ho inserito nella scena 4 area lights e non sto utilizzando una hdr per l’ambiente.

    In una delle zone meno illuminate, prima di fare il bake della luce indiretta, la scena si presenta così:

    e fin qui tutto bene, più o meno come mi aspettavo. Ora però se faccio il bake della luce indiretta la scena diventa così:

    per quanto riguarda il piano di lavoro ed i vari elementi di scena sono soddisfatto ma il vetro è un completo disastro… prendiamo ad esempio i barattoli sopra la cantinetta o le bottiglie, hanno degli intensi riflessi bianchi che sicuramente non possono provenire dalla direzione apparente e da nessuna luce presente in quella zona (non ci sono luci in quella zona).

    Qualcuno ha suggerimenti su come migliorare la situazione per ottenere un effetto più realistico della luce diffusa?

    Pensavo si potesse “regolare” l’intensità della luce diffusa ma non ho trovato come fare, ho cercato nel manuale e mi sono guardato decine di video sulla luce indiretta in eevee…

    Forse potrei agire sul materiale vetro per ridurre i riflessi, ma è stato molto difficile arrivare ad uno shader del vetro sufficientemente realistico in Eevee e ho un po’ paura a modificarlo ancora… in ogni caso se creso una scena di test e importo tutti i materiali vetro presenti nel render qui sopra, non riesco ad ottenere gli stessi riflessi nemmeno volendo:

    quindi non capisco in che direzione dovrei orientare gli sforzi…

    Ogni suggerimento è ben accetto!

     

    #771736
    SinusAsperitatis
    Partecipante
    @sinusasperitatis

    Ciao, da quel che vedo sospetto che il problema potresti risolverlo cambiando l’indice di rifrazione. In effetti il bianco ti compare in tutti quei punti in cui la superficie del materiale assume un basso angolo con la direzione dell’osservatore. Le due bottiglie in verticale avendo angoli piu’ ampi non presentano questo problema. Al limite se modificando IOR le bottiglie in verticale si degradano come risultato potresti provare ad attribuire due differenti materiali uno per quelle in verticale e un’altro per quelle negli scaffali.

    #771741
    joaulo
    Partecipante
    @joaulo

    Grazie @SinusAsperitatis farò sicuramente delle prove in questo senso. Speravo di risolvere con un tweak alle luci ma pare evidente che devo tornare a lavorare sul vetro :-/

    #772570
    joaulo
    Partecipante
    @joaulo

    Piccolo aggiornamento… dopo qualche giorno di prove, sono propenso a credere che non sia colpa del vetro sebbene come materiale sia migliorabile. Ho provato soluzioni di vetri differenti ma tutti hanno lo stesso identico effetto.

    Quindi sono tornato ad indagare sul tema del bake della luce indiretta e forse mi sto avvicinando al nocciolo della questione, tuttavia sono molto confuso.

    Ho provato a modificare pesantemente la distribuzione e la densità degli irradiance volumes eppure non ho notato cambiamenti sostanziali, pur passando da pochi probes a moltissimi probes e da un solo volume a molti piccoli volumi. Tenderei ad escludere il contributo dell’irradiance volume.

    La svolta (forse) è arrivata con il reflection cubemap. Pare che tutta la “luce bianca” arrivi da lì. Sono andato a vedere con un render molto ravvicinato su una bottiglia ed in effetti i riflessi bianchi arrivano dai mobili (bianchi) tutto intorno mentre non viene riflessa in alcun modo la cantinetta di legno in cui sono inserite le bottiglie nè tanto meno gli asset intorno.

    A questo punto ho un sacco di domande a cui spero qualcuno sappia rispondere… premetto che prima di scrivere mi sono letto il manuale di Blender relativamente questi argomenti, ho guardato diversi videotutorial e ho fatto esperimenti negli ultimi 3gg, ma non ho trovato le risposte.

    Domanda 1: le reflection cubemap possono essere nidificate? Ho visto vari tutorial dove c’è chi sostiene che gli irradiance volumer possano essere nidificati e chi dice di evitarlo assolutamente, ma non ho trovato particolari indicazioni per il reflection cubemap in tal senso…

    Domanda 2: ogni oggetto di scena dovrebbe avere una reflection cubemap stretta intorno? Io ho applicato in modo molto superficiale una sola mappa per tutta la stanza e fino a questo momento devo dire che non avevo da lamentarmi della resa finale. Sto facendo qualche esperimento mettendo una cubemap ad ogni bottiglia e barattolo, ma il bake diventa eterno e il peso della mappa è diventato di qualche giga e la mia scheda video zoppica…

    Domanda 3: reflection cubemap o screen space reflections o tutte e due? Da un primo test veloce sembra che utilizzare contemporaneamente sullo stesso oggetto/shader sia la r.cubemap che la s.s.r porti a degli artefatti non trascurabili… quindi mi viene da pensare che se metto la r.c su un oggetto, allora disattivo lo s.s.r. nel suo shader?

    Grazie in anticipo a tutti

    #772817
    joaulo
    Partecipante
    @joaulo

    Aggiornamento sulla questione, non so se può essere di qualche aiuto ma mi sembra di capire che non sono l’unico che sta impazzendo con Eevee di questi tempi…

    Dunque, i render del post di apertura derivano da una scena piuttosto pesante e complessa, quindi è naturale pensare che il problema possa annidarsi tra innumerevoli fattori, quindi per iniziare ad escludere più elementi possibile ho ricreato la stessa scena in versione super semplificata.

    Nel file di test non ci sono textures, non c’è una mappa HDR, il background è impostato a nero con strength 0, sono presenti solo alcuni materiali piuttosto banali e 2 tipi di “vetro” presi dalla scena completa. Le uniche fonti di luce sono 2 area lights.

    A questo punto, se avvio un render senza bake delle luci e dei riflessi, ottengo la seguente immagine:

    Se inserisco nella scena una “light probe > irradiance volume“, faccio il bake e ottengo la seguente immagine:

    e come si può notare praticamente non c’è differenza.

    Adesso inserisco una reflection cubemap che ingloba l’intera scena (come nel render del mio progetto) rifaccio il bake ed ottengo l’immagine seguente:

    E così ho ricreato la stessa identica situazione che avevo nel progetto, con lo stesso problema di riflessi troppo vistosi ed innaturali. A quanto pare dovuti alla reflection cubemap.

    Allora rimuovo la cubemap globale e inserisco delle cubemap strette intorno ai singoli oggetti di vetro, rifaccio il bake ed ottengo:

    In questa ultima immagine le cubemap sono solo sui 3 oggetti della fila superiore e su quelli della fila inferiore, mentre non c’è una cubemap per la fila centrale.

    Non so quanto si veda dalla immagine ma in questo caso i riflessi sembrano corretti, infatti sui cilindri della fila inferiore si vede riflessa la struttura che li contiene mentre sulla fila intermedia no. Ed i riflessi sono coerenti con la scena.

    Come ultima prova ho provato a nidificare le cubemaps, ossia ho rimesso la cubemap intorno a tutta la scena ma ho mantenuto anche le cubemap individuali. Rifacendo bake e render ottengo:

    A quanto pare quindi le cubemap più piccole e interne “sovrascrivono” le informazioni di quella più ampia che le ingloba e come si vede da questa ultima immagine solo gli oggetti che non hanno una propria cubemap sembrano essere influenzati dalla cubemap globale.

     

    Conclusioni

    Tutto questo mi porta alle seguenti considerazioni (in risposta alle mie stesse domande):

    1. le Reflection Cubemap possono essere nidificate, questo se fatto consapevolmente può portare ad un risparmio in termini di risorse di sistema ove la cubemap globale è sufficiente e non necessita altre cubemap specifiche le quali possono essere aggiunte solo in caso di effettiva necessità
    2. probabilmente si otterrebbero risultati migliori se ogni oggetto (che sia riflettente) avesse la propria cubemap, ma è indubbiamente dispendioso in termini di risorse di sistema
    3. non ho avuto modo di approfondire la questione, ma da qualche rapida prova sembra che screen space reflections e reflection cubemap attive ed utilizzate in contemporanea possano dare luogo a riflessioni incoerenti… tuttavia a quanto ho potuto vedere finora a meno che il riflesso in questione sia il soggetto principale al centro della attenzione… posso permettermi di ignorare questi artefatti.

     

    Fine.

    Spero di essere stato esaustivo e che queste informazioni possano tornare utili a chiunque si stia sforzando di ottenere il massimo realismo con Eevee!

     

     

     

     

    #774526
    perkele
    Membro
    @suomifinland

    Che dire… Sono giorni che mi sto scervellando per lo stesso identico problema!!

    Ti ringrazio molto, le tue considerazioni potrebbero aiutarmi parecchio

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Devi essere connesso per rispondere a questo topic.