L’acqua di una piscina è tra i materiali più complessi da riprodurre con Vray, specialmente perché una volta impostati correttamente quei due o tre parametri generali, il realismo e l'efficacia del risultato finale dipende da altri fattori esterni come la credibilità dell’increspatura della superficie, la presenza di un fondale che abbia una geometria ideale per evidenziare i cambi di profondità, un’inquadratura che permetta all’acqua di riflettere l’ambiente circostante in modo gradevole e infine la presenza di quei particolari effetti di concentrazione di luce detti “caustiche”.
L’obiettivo di questo tutorial è guidarvi nella creazione di un materiale Vray “acqua” realistico e capace di sorprendere il nostro pubblico per il fascino dell’effetto finale.
Increspatura dell’acqua
Secondo il mio punto di vista il modo migliore per creare un effetto soddisfacente è avere un piano con un’increspatura tridimensionale, quindi - quando posso - evito Bump o Displacement e preferisco usare una superficie 3D a cui associo un deformatore Spostare (Displacer), che permette di deformare quella superficie utilizzando uno qualsiasi degli shader di Cinema 4D, tra cui ne esiste uno pensato appositamente per imitare il rilievo superficiale di uno specchio d’acqua, chiamato appunto “Acqua” e che si trova nella categoria “Superfici”.
Il Displacement creerebbe un effetto tridimensionale analogo, ma sarebbe necessario fare diversi test per verificarne l’evoluzione nel risultato finale (che viene mostrato solo nel render) ognuno con tempi di calcolo piuttosto impegnativi. Il Bump, seppur spinto alla sua massima potenza, non riuscirebbe a raggiungere risultati paragonabili a quelli raggiunti dal Displacement o del metodo tridimensionale.
Una volta creato il piano lo posiziono in modo da coprire la totalità della piscina, lo abbasso di qualche centimetro rispetto al bordo della piscina e lo ingrandisco in modo che il perimetro del piano penetri leggermente nelle pareti interne laterali della piscina.
Creo il deformatore Spostare e lo inserisco all’interno del piano.
Le opzioni essenziali del deformatore da modificare per raggiungere l’obiettivo sono:
Shader: nel pannello Ombreggiatura; è in questo slot che va inserito lo shader Acqua (cliccando sul triangolino accanto alla parola Shader e poi su Superfici » Acqua) e nello screenshot potete vedere i parametri che ho impostato per il test di partenza;
Altezza: nel pannello Oggetto; serve a stabilire l’altezza delle onde che increspano la superficie, da scegliere in base alle esigenze ma che consiglio di tenere a valori molto bassi, tra i 2 e i 5 cm, altrimenti il realismo finale subirebbe un crollo.
Per avere un increspatura con un livello di dettaglio sufficiente vanno aumentate le suddivisioni del piano. Il numero ideale varia in base alle sue dimensioni e alla sua forma (e - vedrete tra poco - anche in base al risultato finale che si desidera ottenere), non esiste quindi un valore universale. In questo esempio io ho usato 500 suddivisioni, sia in Larghezza che in Altezza.
Parametri generali del materiale Vray ACQUA
Le caratteristiche da replicare nel caso dell’acqua, e più in generale dei liquidi, sono sostanzialmente 2: riflessione e rifrazione. Dopo aver creato un VrayAdvancedMaterial di partenza, disattivo il Diffuse Layer (per avere completa trasparenza) e attivo lo Specular Layer 1 e il Refraction Layer.
Come impostare lo Specular Layer
Per creare una riflessione realistica e convincente, ho disattivato Use Fresnel (non amo usare il Fresnel IOR di Vray, se volete sapere il perché leggete questo tutorial), attivato l’opzione Invert e caricato nel campo Texture map (quello evidenziato nello screenshot) un Fresnel di Cinema 4D, al cui interno ho selezionato per la riflessione massima (nodo di sinistra del gradiente del Fresnel) un grigio molto chiaro (V=75%) e per la riflessione minima (nodo di destra del gradiente del Fresnel) un grigio molto scuro (V=5%).
Come impostare il Refraction Layer
La "rifrazione" è la deformazione ottica causata della variazione di velocità che un raggio di luce subisce quando attraversa un materiale trasparente, visibile attraverso oggetti di vetro o masse d’acqua. Ogni materiale trasparente ha un effetto diverso sulla velocità del raggio di luce, e l'effetto può essere tradotto in un coefficiente che se inserito nel campo IOR (Index of Refraction) del Refraction Layer permette a Vray di replicare molto fedelmente la rifrazione che quel materiale avrebbe nella realtà. L’IOR dell’acqua è 1,333.
Per il colore, specie quando si tratta di un liquido che riempie un recipiente con profondità non uniforme come nel caso di questa piscina, non è consigliabile usare il Refraction Color, che dipingerebbe in modo omogeneo il liquido senza tenere conto della variazione di massa. Consiglio invece di tenere il Refraction Color sul valore di default (bianco) e usare il gruppo di parametri Volume Fog Parameters.
Attivando Enable Volume l’acqua assumerà un colore più denso in base alla profondità della piscina. Volume Color è l'opzione che uso per scegliere la tonalità dell’acqua. Scelgo sempre colori molti alti, quasi tendenti al bianco, perché altrimenti l’effetto risulterebbe troppo carico.
Caustiche
Le "caustiche" sono forme geometriche organiche composte da una concentrazione di luce. Sono visibili quando i raggi di una sorgente luminosa attraversano una massa di materiale trasparente con densità non uniforme.
Per iniziare a visualizzarle sul fondo della piscina sarà sufficiente attivarle dai settaggi di render generali di VrayBridge.
Nel pannello Caustics ci sono tutte le opzioni con cui governare l’aspetto di queste concentrazioni luminose nel risultato finale. Quelle cruciali sono:
Multiplier: determina la luminosità delle concentrazioni;
Max Photons: permette di ammorbidire o rendere più contrastato il disegno delle forme.
Una variabile che gioca un ruolo fondamentale nel disegno delle caustiche è la suddivisione del piano increspato dal deformatore Spostare. Diminuendo le sue suddivisioni, il piano non riesce ad assecondare i dettagli dello shader quindi disegna le onde in modo più schematico, morbido, e le forme sul fondale diventano più semplici.
Varianti
Attraverso Distance Bias (un’opzione modificabile dal Refraction Layer del materiale Acqua) sarà possibile scegliere il grado di densità del colore del liquido. Anche per questa opzione non esiste un valore universale, dovrà essere definito di volta in volta in base all’obiettivo.
Il colore del liquido (Volume color) influisce molto sul risultato finale. Non è facile trovare la tonalità giusta, ma per fortuna l’attivazione delle caustiche non influisce in modo tragico sui tempi di render, permettendo quindi di completare diversi test senza perdere troppo tempo. Nei casi illustrati di seguito il fondo della piscina è bianco, in altri casi il fondo potrebbe essere azzurro o di un altro colore, o avere una texture di mosaico, e quindi la ricerca del colore giusto (che sarà la somma del colore del liquido e del colore del fondo) potrebbe richiedere un impegno maggiore.
In queste varianti il fondale è una Landa rovesciata a cui ho applicato delle texture raffiguranti pietra e sabbia, nella parte più profonda.
Da questo link potete scaricare il file di progetto (comprese le texture) con cui ho prodotto la copertina di questo tutorial:
acqua_caustiche_c4d-vray.zip
Se il tema vi affascina, provate a giocare con questa demo di Evan Wallace:
http://madebyevan.com/webgl-water/
Altri tutorial che potrebbero interessarti:
Rendering wireframe con Cinema 4D e Vray
Tessuti fantastici e come crearli
Creare un'erba realistica con VRAYFUR
Fasci di luce visibili e polvere con Cinema 4D e Vray
Sporco sui metalli con l'Occlusione Ambientale
Ottimo tutorial!
RispondiEliminaAngelo ciao! Tutorial esaustivo ma è utilizzabile correttamente se si lavora in DR? Vedo che usi sempre shader nativi di Cinema 4D e non quelli nuovi di V-ray, come mai?
RispondiEliminaTrovo gli shader di Cinema più performanti e semplici da usare, ma non uso il DR. In questo caso in alternativa allo shader Acqua puoi usare il NoiseMax che ti conduce più o meno allo stesso effetto riguardo all'increspatura del piano. Riguardo alla riflessione, il Fresnel di Cinema non mi risulta sia compatibile con l'uso del DR, ma puoi sempre gestire la riflessione con il metodo di default (Fresnel IOR).
EliminaCiao Angelo complimenti per il e i tutorial fantastici. Mi chiedevo se fosse possibile generare caustiche con una luce che non fosse quella solare. Ho fatto tentativi per un interno cercando una riflessione di una bottiglia senza risultato. Hai per caso da darmi qualche consiglio?
RispondiEliminaCiao Angelo, ottimo tutorial come al solito!
RispondiEliminaHo provato a rifare il primo render (quello con le scale che scendono nell'acqua) ma ho un problema con le caustiche: quando vado a renderizzare queste mi appaiono solo in un'area circoscritta della superficie colpita dalla luce. Questa zona cambia di posizione variando la posizione della sorgente luminosa ma non riesco mai ad allargarla per prendere tutta la parte di fondale colpita dalla luce.
Ho provato anche ad alzare e abbassare il sole ma sempre con lo stesso risultato... qualche consiglio?
Per allargare la zona interessata dall'effetto delle caustiche devi aumentare Photon emit radius dal suo valore di default (127 cm) a valori più alti. Nelle opzioni del Tag VrayLight, nella scheda Sun light, subito dopo Filter color.
EliminaCiao Angelo! Grande tutorial come sempre! Ti volevo solo chiedere quali erano le impostazioni di luce che hai usato (infinite light / Sun light) e i parametri base di render non mostrati nel tutorial! Grazie a presto!!
RispondiEliminaPuoi vedere tutte le impostazioni di render e luci aprendo il file scaricabile alla fine del tutorial.
EliminaMolto utile!! grazie infinite una volta più... sei grande
RispondiEliminaCiao, ottimo tutorial, come mai attivi il volume se l'acqua è un piano?
RispondiEliminaAttivo il volume perché, pur essendo un piano, l'effetto del volume nell'acqua è visibile (come si vede dalle illustrazioni del tutorial) se sotto al piano c'è un modello 3D che crea un volume definito e chiuso. In questo caso non è necessario che l'acqua sia un solido.
EliminaBuongiorno Angelo.
RispondiEliminaComplimenti per il tutorial,
ho un problema con le caustiche.
provando a fare gli stessi passaggi del tutorial su un file nuovo, (ne tuo riesco senza problemi) nel quale ho inserito una piscina di mt 10x5 ho le caustiche concentrate ad un punto circolare nel mezzo della piscina (che coincide con lo 0,0,0 del programma) e non riesco a farle vedere in tutta la piscina.
C'è un modo per ovviare a questa cosa e riprodurre le caustiche su tutta la piscina (ed eventualmente su altri specchi d'acqua lontani dal centro del disegno)??
Per estendere l'effetto delle caustiche su tutto il fondale della tua piscina (molto più grande di quella usata da me in questo tutorial) devi aumentare Photon emit radius dal suo valore di default (127 cm) a valori più alti. Questo parametro si trova nelle opzioni del Tag VrayLight, nella scheda Sun light, subito dopo Filter color.
EliminaGrazie mille Angelo.
EliminaRisolto il problema!!
Ciao Angelo. Grazie per tutto il lavoro che fai, sei un grande!
RispondiEliminaComunque ti volevo chiedere se puoi aiutarmi con questo problema: sto provando a fare il render di un progetto sul Tevere. Io utilizzo rhinoceros e quando importo il modello su cinema il layer del fiume non è un piano ma un poligono, anche se nel modello era una superficie. Non c'è un modo per convertire quell oggetto in un piano? Perche cosi come è non mi fa impostare i valori di suddivisione del piano. Grazie ancora
L'unica soluzione in questi casi è sostituire il layer del fiume con un piano di Cinema 4D, perché anche aumentando le suddivisioni manualmente (lo potresti fare selezionando tutti i poligoni e premendo U-S) i poligoni non sarebbero regolari e probabilmente ti renderebbero sporca e disordinata la geometria.
EliminaBuonasera Angelo.
RispondiEliminaComplimenti per il tutorial, ho un problema con le caustiche.
Provando a fare gli stessi passaggi del tutorial su di una piscina rettangolare non ho nessun problema, invece se realizzo una piscina con una forma particolare (ad esempio ho utilizzato la spline fiore di cinema) ed il risultato è completamente diverso sia in termini di materiale (colore dell'acqua anche se è lo stesso) sia in termini di caustiche. Ho provato in tutti i modi ma non sono riuscito a trovare una soluzione. Esiste qualche altro accorgimento da seguire? Grazie di tutto
Senza vedere il risultato è difficile capire su cosa indirizzarti, però ci provo. Il colore o meglio la densità dell'acqua (se hai usato il Volume Fog) dipende dal volume, quindi controlla le dimensioni della piscina, potrebbero essere fuori scala. L'aspetto delle caustiche dipende sia dalla luce (che deve essere quella solare, o comunque una luce diretta puntata verso l'acqua e non morbida) che dall'increspatura dell'acqua (quindi dal modo in cui è impostato il deformatore e dalle suddivisioni del piano dell'acqua), che se non è abbastanza decisa non produce risultati molto apprezzabili.
EliminaCome si fa a passare da una piscina ad un mare che va fino all'orizzonte ?
RispondiEliminaPuoi ingrandire il piano a dismisura e applicare le stesse tecniche su di esso, regolando i parametri in modo che non risultino fuori scala, oppure applicare gli stessi concetti ad un "Pavimento", un tool di Cinema che equivale ad un piano infinito (che però nella viewport, e solo nella viewport, ha delle dimensioni ridotte).
Eliminaciao Angelo
RispondiEliminasei un grande.... Vorrei capire perché se faccio il piano dell'acqua con lo strumento poligono (ho una vasca poligonale e non rettangolare) e poi faccio il comando "suddividi" la superficie del poligono non viene comunque omogenea. ha come dei campi dove in alcuni la superficie viene mossa e in alcuni no.
Se disegni un poligono a mano e poi applichi il comando Suddividi, la suddivisione verrà irregolare, perché il poligono stesso è una forma irregolare. In quel caso puoi usare il Taglio Piano (Coltello nelle vecchie versioni di Cinema 4D) e tagliare la superficie regolarmente, anche usando la funzione di taglio multiplo, così puoi risparmiare tempo. In alternativa puoi posizionare un Piano regolare e suddividerlo con le sue opzioni interne e poi, una volta esploso, cancellare i poligoni che escono fuori dal perimetro della vasca, in questo modo ottieni una mesh regolarmente suddivisa senza impazzire con il coltello.
EliminaCiao Angelo, Grazie mille per il tutorial.
RispondiEliminaAnch'io avrei bisogno di fare un mare e perciò ho provato subito sia ad utilizzare un pavimento che a ingrandire a dismisura il piano. Nel primo caso ho riscontrato che il pavimento non è suddivisibile in segmenti mentre nel secodno la suddivisione massima di un piano è in 1000 segmenti (sia in largenzza che in altezza) rendendo perciò quasi impercettibili le increspatute data la grande dimensione dell'oggetto.mi sai dare un consiglio? Ti ringrazio moltissimo
Se vuoi suddividere di più il pavimento dovrai esploderlo (con il comando Rendi modificabile) e suddividere manualmente i suoi poligoni con il comando Suddividi, ma il piano inizierà a pesare molto. Se sei ad una distanza sufficiente, puoi lasciare il piano anche con pochissime suddivisioni e usare il Bump o il Displacement in alternativa a questa tecnica, che è più adatta quando l'acqua è in primo piano e raccolta in un'area di piccole dimensioni.
EliminaSalve Angelo. Tutorial eccezionale, sempre attuale. Io però avrei un problema... non ho ne Vray {perdona il gioco di parole} ne altri motori di rendering aggiuntivi.
RispondiEliminaL'effetto di profondità che hai saputo dare è proprio quello che cercavo per il mio progetto ambientato nell'oceano antartico e quindi mi chiedo e ti chiedo... tenendo conto che il tutto verrà poi portato su Unreal Engine e i rendering in C4D mi servono soltanto in fase di progettazione e al massimo per rendering puramente dimostrativi, posso comunque ottenere lo stesso effetto? E come? Purtroppo non riesco a ricreare i vari passaggi.
Grazie.
Non conoscendo il motore di render nativo di Cinema 4D non saprei come aiutarti, mi dispiace!
Elimina