Per simulare i metalli in modo scientificamente corretto possiamo usare il plugin Refrective Index per Cinema 4D. Vediamo come usarlo con Corona Renderer.

Simulare i metalli con Corona Renderer

Definizione dei coefficienti “n” e “k”

Per simulare i metalli è importante comprendere a fondo il ruolo del Fresnel e il rapporto tra il Canale Diffuse e il Canale Reflection. In questo tutorial mi è sembrato interessante mostrare le potenzialità del Plugin totalmente gratuito per Cinema 4D Refrective Index sviluppato da Adam Maxime che ci aiuterà nell’inserimento dei coefficienti proposti dal portale Refrective Index.

↑| Scena di partenza | Sono stati usati oggetti standard di Cinema 4D con una semplice simulazione dinamica |

Per prima cosa è necessario creare un oggetto nullo al quale andrà applicato l’apposito tag del plugin Refrective Index. All’interno della scheda è possibile selezionare il tipo di metallo desiderato. Per ogni canale colore viene fornito il valore della lunghezza d’onda.

↑| Refrective Index Plugin for Cinema 4D | Con questo plugin è possibile inserire i valori fisicamente corretti secondo i parametri “n” (Refrective Index) e “k” (Extinction coefficient) |

Il valore della lunghezza d’onda del canale Red, per il materiale Gold, viene proposto pari a 0,68. Questo valore, una volta inserito nel campo “Wavelength” del portale Refrective Index Database fornirà i seguenti parametri:

n = 0,13544 / k = 3,8820

Questi parametri vanno individuati per ogni canale colore.

↑| Refrective Index Plugin for Cinema 4D | I valori di lunghezza d’onda riportati nella scheda del Plugin vanno inseriti, volta per volta, all’interno del campo “Wavelength” sul portale Refrective Index Database, e otterremo quindi i valori corrispondenti di “n” e “k”  |

Tutti i parametri determinati come descritti sopra vanno inseriti negli appositi campi, e a lavoro ultimato possiamo creare il nostro metallo (basterà inserire il nome e cliccare sul tasto “create”).

↑| Refrective Index Plugin for Cinema 4D | In questa scheda sono riassunti tutti i valori desunti dal Refrective Index Database |

Il canale RGB all’interno del plugin possiede il gradiente che ci interessa. Questo gradiente dovrà sovrascrivere quello proposto di default dallo shader Fresnel. Per fare in modo che ciò avvenga basta cliccare con il tasto dx del mouse sul gradiente e impostare “Set Driver“. Subito dopo, una volta creato il materiale, si attva il canale reflection e si imposta uno shader Fresnel per il campo texture.

↑| Refrective Index Plugin for Cinema 4D | Per il funzionamento del plugin è necessario impostare il valore “master” (Set Driver) tramite una funzione di XPresso. Successivamente, assegniamo lo shader Fresnel al Color Reflection |

All’interno dello shader Fresnel basterà cliccare con il tasto dx del mouse sul gradiente e impostare “Set Driven (Absolute)“. In questo modo verrà creata una relazione tra il gradiente del plugin (gradiente Master) e il gradiente dello shader Fresnel (gradiente Slave). Di conseguenza, ogni modifica fatta sul gradiente Master si rifletterà anche sul gradiente Slave.

↑| Refrective Index Plugin for Cinema 4D | All’interno del gradiente del Fresnel già assegnato al Color Reflection è necessario impostare il valore “Slave” (Set Driven – Absolute) tramite una funzione di XPresso |

Se applichiamo un filtro al gradiente Fresnel abbiamo altre possibilità di personalizzazione. Per esempio è possibile variare il valore di gamma per schiarire o per scurire il gradiente. Nel nostro test abbiamo alzato il Gamma a 1,8.

↑| Corona Material | Quando la funzione impostata da XPresso è attiva il Gradiente del Fresnel sarà funzione del Gradiente RGB all’interno del Plugin Refrective Index. Per variare la tonalità possiamo anche impostare un filtro e cambiare il valore di gamma |

Per conferire maggiore realismo non dobbiamo tralasciare il Glossiness. Aggiungiamo una texture per simulare i piccoli graffi sul metallo. Per quanto riguarda il Fresnel IOR è stato inserito un valore pari a 25.

↑| Corona Material | Per il Glossiness usiamo una texture |

Non dimentichiamo di ridurre il contributo del canale Diffuse. Quando si lavora con le superfici metalliche il Color Diffuse viene generalmente impostato come nero. Con Corona Renderer possiamo sfruttare la possibilità di ridurre (più semplicemente) la percentuale del contributo del canale portandola all’1%. Nell’immagine sotto, in basso a dx, viene proposta l’anteprima delle modifiche applicate al materiale; abbassando il contributo del Canale Diffuse l’effetto è molto più convincente.

↑| Corona Material | In ultimo, è importante ridurre il contributo del Diffuse Color. Infatti per i metalli è buona norma impostare un colore molto scuro. Visto che Corona consente di definire l’incidenza di ogni canale in termini percentuali, abbiamo semplicemente impostato il contributo all’1% |

Ecco i test finali della scena di partenza:

↑| Render Test | Simulazione con il materiale oro |

↑| Render Test | Simulazione con il materiale oro. Nell’immagine è stato attivato il DOF all’interno della camera di Corona Renderer |

Simulare i metalli con Corona Renderer

Oro, Argento e Rame

Niente Photoshop per questa volta. Per le immagini che seguono e per le ultime due del precedente paragrafo, ho sfruttato unicamente il pannello “Corona post-process”. Le opzioni presenti permettono una buona ottimizzazione del tone-mapping. Personalmente uso Arion FX for Photoshop per il tone-mapping, ma devo dire che Corona Renderer consente una fluidità di lavoro straordinaria. Nessuna modifica è distruttiva e l’anteprima risulta molto veloce. La mia abitudine è quella di salvare sempre il file in formato OpenEXR e di salvare anche le impostazioni usate dentro il Corona post-process.

↑| Corona VFB | Il Corona Frame Buffer offre gli strumenti base per la post produzione. Inoltre è possibile salvare le impostazioni e caricarle all’interno di un altro file. La cosa importante è salvare sempre in formato “OpenEXR” |

Oltre al materiale oro, ho costruito altri due materiali metallici: argento e rame. La metodologia utilizzata è la stessa già vista sopra. Di seguito vengono proposti dei render test con i materiali oro, argento e rame. Per questi test ho usato un oggetto con una geometria più complessa. Prima di applicare i materiali definitivi ho fatto una prova con un materiale composto ottenuto tramite il Corona Layered Material (per chi volessa approfondire rimandiamo a un altro tutorial presente su questo blog). Il materiale di base è quello di default proposto da Corona, mentre allo slot “1” è stato inserito un rosso con il solo canale Diffuse attivo. Ho disattivato le riflessioni per rendere veloce la simulazione. Il materiale rosso viene poi filtrato da una maschera composta da uno shader Fresnel. Le sfumature di rosso ci daranno indicazione delle zone dove si concentreranno le riflessioni. La maschera usata per il Fresnel può essere personalizzata a piacimento al fine di ottenere il risultato desiderato.

↑| Effetto Fresnel | Quando lavoro con i materiali ritengo molto utile verificare gli attributi del Fresnel in modo veloce. Per farlo imposto un colore forte e saturo e lo rendo visibile attraverso una maschera Fresnel. Solo quando il gradiente è ben impostato inizieranno i render test con il canale reflection attivo |

Il Corona Layered Material potrebbe anche essere impiegato per mescolare assieme più tipi di metallo o magari per variare il valore di gamma in base al Fresnel. Le modalità di impiego sono praticamente illimitate. Nell’immagine che segue ho usato lo stesso materiale oro già creato ma con una variante: per il materiale principale ho mantenuto la gamma pari a 1.8 mentre nello slot 1 ho inserito lo stesso materiale oro con la gamma pari a 0,5. Ecco i risultati a confronto:

↑| Corona Layered Material | Il materiale oro di base è stato clonato e il valore di gamma è stato ridotto a 0,50. Questo materiale è stato usato all’interno del Corona Layered Material e filtrato con una maschera Fresnel |

↑| Render Test | Comparazione tra il materiale iniziale (Corona Material) e il materiale composito (Corona Layered Material) |

Ed ecco i test finali con i materiali singoli di oro, argento e rame:

↑| Render Test | Simulazione con il materiale oro |

↑| Render Test | Simulazione con il materiale argento |

↑| Render Test | Simulazione con il materiale rame |

Riferimenti

Refrective Index PLugin for C4D by GR4PHOS

Con questo interessante Plugin è possibile definire i coefficienti “n” e “k” per una corretta simulazione del metalli. Il Plugin può essere agevolmente usato in combinazione con Vray e Corona Renderer

Refrective Index Database

In questo portale è presente un algoritmo che consente la definizione dei valori “n” (Refrective Index) e “k” (Extinction coefficient) a partire dalla lunghezza d’onda e dalla tipologia di materiale prescelto

Invia un commento

5 Commenti

  1. matteo

    Bellissimo tutorial.
    peccato che il plugin Refrective Index sulla mia versione r16 non funziona.
    sapresti dirmi dove sbaglio?

    Rispondi
    • Lorenzo Martella

      Ciao Matteo. Sinceramente non ha mai provato il plugin sulla versione R16.
      Se non ricordo male non ci sono note circa i requisiti minimi di questo plugin.
      Posso dirti che sulla versione R17 funziona sicuramente.
      Inoltre ci sarebbero delle alternative:
      1) la prima è un ottima risorsa presente sul sito di Entagma.
      http://www.entagma.com/c4d-custom-conductive-dielectric-fresnel/
      Le funzioni sono le stesse. Belle anche le indicazioni per l’utilizzo di Xpresso. Fai una prova;
      2) la seconda sarebbe uno script per editare la curva fresnel (metodo meno scientifico ma ugualmente valido).
      Il link è questo https://lesterbanks.com/2014/07/custom-fresnel-curves-cinema-4d/ ma purtroppo credo che il file non sia più disponibile.
      Prova a cercare in rete.

      Rispondi
  2. Giuseppe

    Complimenti per l’ottimo e chiarissimo tutorial.
    Se volessi,nello stesso progetto, costruire lo shader non solo per la finitura gold ma altri metalli dovrei rifare la stessa procedura partendo dall’oggetto nullo e sovrascrivere il gradiente di default?

    Rispondi
    • Lorenzo Martella

      Certo. Puoi creare quanti metalli tu voglia. Per ogni metallo andrà generato un oggetto nullo al quale applicare il tag Refrective Index

      Rispondi
      • Giuseppe D'Agostino

        Perfetto, grazie mille per la risposta.

        Rispondi

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Pin It on Pinterest

Share This