Calcolare più velocemente la profondità di campo.
Se hai mai provato a renderizzare l’effetto della Profondità di Campo attivandola nella V-Ray Physical Camera, avrai notato certamente un notevole incremento dei tempi di rendering.
In particolare se poi innalziamo il valore subdivs (nel rollout sampling) per ridurre la granulosità generata dell’effetto, allora i tempi aumentano ancor di più. Devo premettere che personalmente preferisco creare questo genere di effetti in postproduzione, ma ignoriamo quest’aspetto e restiamo sull’argomento per vedere cosa succede quando il DOF (profondità di campo) lo creiamo direttamente in V-Ray:
Ecco un piccolo esempio:
Nelle stesse condizioni, il tempo di rendering Senza dof sarebbe di 7-8 minuti, mentre con il dof attivo (subdivs=15) i tempi raddoppiano. In questo caso ho renderizzato un’immagine davvero piccola a mo’ di esempio. Passare da 7min a 18min potrebbe essere irrilevante, ma passare da 5h a 10h potrebbe esserlo meno.
C’è un piccolo escamotage (odio la parola “trucchetto”… anche se poi è lo stesso) che possiamo adottare per ridurre di molto questo calcolo: Shademap.
.
Dici…!? E mmo che è ‘sto shade mappe? …vediamo subito 😉
Questo trucch.. ehm.. escamotage.. si svolge in 3 passaggi. impostare normalmentela profondità di campo nella V-Ray Phisical camera e poi:
- inserire in scena l’oggetto VRayStereoscopic ( crea > helpers > vray )
- Impostare il suo Shademap su “Render shape map“, quindi renderizzare una prima volta
- Impostare Shademap su “Use shape map ” e fare il render finale
Vediamo i passaggi step-by-step:
1) Inserire in scena l’oggetto crea > helpers > VRay > VRayStereoscopic. Imposta eye distance = 0,0 ed il mode di Shademap su Render Shade Map assegnando un file in cui salvare i dati che saranno calcolati in questo step:
In realtà l’oggetto VRayStereoscopic serve al render di immagini 3D per occhialini, ma per ora è l’unico modo per accedere alla funzione Shademap. Questa funzionalità verrà prima o poi aperta al pubblico ma per ora dobbiamo accontentarci di questo trucchetto (arg.. alla fine l’ho detto, lo sapevo!).
2) Clicco render e, sebbene il dof è attivo, mi appare un render senza Dof in 7 minuti e mezzo:
(Questo render posso anche buttarlo via, in realtà serve solo a fargli calcolare un po’ di roba con ShadeMap)
3) Torno nell’oggetto VRayStereoscopic e semplicemente modifico il mode su Use Shade Map. Come puoi intuire il render successivo sarà calcolato sfruttando i dati memorizzati nel corso del render precedente.
Clicco render e mi appare un render con Dof (approssimato) in 2′ 50”:
(Quando si fa il render stereoscopico V-Ray calcola 2 immagini, leggermente diverse, discostate quanto la distanza degli occhi impostata. In questo caso io ho messo 0,0 quindi saranno identiche ma pur sempre 2. Basta fermare il calcolo dopo il render della 1° immagine)
A conti fatti il totale del tempo impiegato è:
- Dof normale = 18min 50”
- Dof approssimato = 7min 30” + 2min 50” = 10min 10″
E’ evidente che c’è una differenza oggettiva tra i due risultati, ma se ti avessi mostrato solo il secondo risultato, forse non avresti notato nulla di strano. E’ sempre così: un render matematicamente più preciso richiede più tempo di uno approssimato, questo è abbastanza ovvio.
L’abilità sta nel valutare dove fermare la precisione matematica in favore dell’approssimazione, senza intaccare la percezione visiva.
A buon render.
Tags: dof, fotografia
Magistrale come al solito!
ottima soluzione…
non ci avevo pensato….
corpo di mille balene!
grazie mille !!!
ciao
rob
credo che la chitarra sia una telecaster….
vero?
ciao
rob
Come sempre ti dimostri geniale nello scoprire trucchett… ehm, escamotage per ottenere effetti particolarissimi.
Personalmente per lo stesso risultato, uso la VrayDepthMask e poi imposto la sfocatura in Photoshop. Cosa ne pensi di questo approccio? Per me ha il vantaggio che ottengo comunque un render “tutto a fuoco” e posso regolare con più precisione la sfocatura successivamente in post produzione.
Ciao e alla prossima 🙂
Ciao Miki!
Eh si fai bene. Lo scrivo chiaramente: « Devo premettere che personalmente preferisco creare questo genere di effetti in postproduzione »… ma ignoriamo quest’aspetto e restiamo sull’argomento per vedere cosa succede quando il DOF (profondità di campo) lo creiamo direttamente in V-Ray… 😉
come sempre MITICOOOOOOOOOO
Bel Tutorial…che nostalgia, ho iniziato tanto tempo fa con tre di Max ma ora non lo uso più, non opero più in questo settore
Bel tutorial e bellissimo sito! Una domanda… è possibile adattare questo tutorial a Vray per C4D?
Ciao Vassel,
ti chiedo una cosa banale: hai verificato se C4D ha l’opzione shademap da qualche parte?
Purtroppo si tratta di uno strumento e non di un principio, quindi non è detto che sia applicabile per forza. Verifica “shademap” e fammi sapere 🙂
ormai con i programmi si può fare di tutto, ma un bravo fotografo deve prima di tutto saper scattare bene le foto in base alla luce e poi esaltarla a limite con i programmi
Molto interessante e particolare questo articolo. Ottimo lavoro!
con “fotografia e render” e i tuoi tutorial sto imparando tanto in pochissimo tempo, grazie 😉
Ciao Ciro! L’idea mi sembra veramente ottima. Purtroppo però ho provato a metterla in pratica seguendo passo-passo quanto esponi, ma non ottengo nulla se non immagini sempre a fuoco. Ho provato a cambiare il diaframma aprendolo molto per cercare di “esagerare” l’effetto, ma nada… dove sbaglio?
Ciao Fabio… ma “shade” a parte, riesci a riprodurre l’effetto di profondità di campo? Intendo dire senza tutto questo “casino”.. 🙂
Ciao Ciro, grazie per la risposta. Si, il DOF della vray camera “funziona”, così come l’altro “trucchetto” VRayZDepth. Non capisco proprio dove sbaglio.
In effetti è strano, che versione di vray hai?
La demo del 2.0
Allora chiedi direttamente al produttore (support@chaosgroup.com) perché se le cose stano come dici, dovrebbe funzionare.