Il Corona Layered Material permette di gestire materiali complessi. Vedremo come costruire un materiale avanzato sfruttando soprattutto Shader Procedurali. Di seguito un estratto di alcune delle immagini presenti in questo tutorial:

Ottenere una Displacement Map con il modificatore Displacer

Il punto di partenza è una sfera alla quale dovremo poi applicare una serie di modificatori Displacer al fine di ottenere l’equivalente di una Displacement Map. Lavorare con il modificatore Displacer risulta molto comodo in quanto permette di valutare in tempo reale il risultato. La qualità del modello è stretta funzione delle subdivision. Nel nostro test abbiamo impostato le subdivision, sia in Editor che in Renderer, uguali a 5 che risulta essere un valore piuttosto alto.

Primo Displacer

↑| Displacer | Il primo modificatore Displacer sfrutta gli shader procedurali di Cinema 4D. In questo caso si tratta dello shader “Scales 2” |

Nel modello abbiamo applicato ben tre modificatori Displacer (è come se avessimo applicato tre differenti Displacement Map alla Sfera – cambia solo la metologia impiegata). Il modificatore Displacer permette di impostare la forza (strength), l’altezza (height) e permette inoltre di impiegare uno shader personalizzato (custom shader) secondo le nostre esigenze.

↑| Displacer | In questa sequenza vengono illustrati i passaggi per costruire il Custom Shader del primo Displacer. Il gradiente usato come maschera serve per attenuare l’effetto in prossimità delle estremità superiore ed inferiore della sfera |

Con il primo Displacer abbiamo impostato la tessitura del nostro materiale usando uno Shader Procedurale di Cinema 4D, si tratta del Pattern “Scales 2”. Gli Shader Procedurali sono molto potenti, e attraverso di essi si può raggiungere una quantità di effetti praticamente infinita. La cosa importante è la corretta gestione dei livelli e dei metodi di fusione (esattamente come avviene in Photoshop).

Il Layer Mask riveste un ruolo particolarmente importante; come dice il nome ha la funzione di maschera e serve per nascondere solo alcune parti di un livello. Per ogni Layer è possibile impostare una “forza” che di Default viene proposta al 100%. Chiaramente quando la percentuale tenderà a decrescere, diminuirà anche il peso del Layer sul quale si interviene.

Secondo Displacer

↑| Displacer 1 | All’interno della scheda Shadeing è possibile personalizzare lo Shader. In questo caso abbiamo impiegato uno shader procedurale disturbo (Stupl) |

In questo caso abbiamo inserito lo Shader Procedurale Disturbo (Noise). Come tipologia di Noise abbiamo individuato il modello “Stupl“. Faccio notare la presenza di un parametro spesso sottovalutato, quello delle Ottave (Octaves). Questo parametro ha la funzione di aggiungere dettagli allo Shader in misura virtualmente infinita. In questo test abbiamo impostato il valore “20” che è molto alto. Risulta utile intervenire su questo parametro in presenza di geometrie molto dettagliate e quando il soggetto è vicino.

Terzo Displacer

↑| Displacer 2 | Il terzo modificatore Displacer è stato usato per aggiungere i microdettagli. La maschera è stata utile per evitare di intervenire sulle fughe del materiale |

Infine, per l’ultimo modificatore Displacer, è stato utilizzato un ulteriore Shader Procedurale Disturbo (Noise) e come tipologia è stato impostato il “Naki”. La maschera è stata utile per evitare di intervenire sulle fughe del materiale. Il terzo modificatore ha la funzione di aggiungere dei dettagli di piccola scala (infatti il Global Scale è impostato al 20%). Per i microdettagli si interverrà ancora attraverso la mappa di Bump.

↑| Displacer a confronto | La sequenza illustra l’effetto dei tre modificatori Displacer sull’oggetto Sfera iniziale |

Corona Layered Material

↑| Corona Layered Material | La texture principale usata come base va inserita nel Base material, e a seguire tutte le altre |

Si tratta di un materiale con caratteristiche molto avanzate. Permette di fondere diversi materiali insieme utilizzando delle maschere e dei pesi (Amount) attraverso i quali si determina l’influenza del singolo materiale. Se il parametro Amount è impostato uguale a “0.1” significa che il materiale corrispondente contribuirà per il 10%. Per il nostro test abbiamo utilizzato quattro materiali differenti:

  • Texture 01 – si tratta delle texture principale (Base Material);
  • Texture 02 – partecipa al 60% (risulta attivo solo il canale Reflection);
  • Texture 03 – partecipa al 10% (risulta attivo solo il canale Reflection);
  • Texture 04 – partecipa al 50% (risulta attivo solo il canale Bump utile alla definizione di ulteriori microdettagli);

↑| Anteprime dei singoli materiali | Vengono proposte in sequenza le anteprime dei singoli materiali impiegati per costruire la mappa definitiva (Corona Layered Material). Tex 01 in alto a sx. Tex 02 in alto a dx. Tex 03 in basso a sx. Tex 04 in basso a dx |

Texture 01

Canale Diffuse

Per la mappa usata all’interno del canale Diffuse non sono state impiegate texture, tutto è stato generato anche in questo caso con degli Shader Procedurali. La Diffuse Map coincide con il Color Input ed è chiamata anche Albedo. In sostanza l’Albedo definisce il colore della luce diffusa.

↑| Texture 01 – Diffuse | Le mappe impiegate per costruire la Texture sono tutte procedurali (Noise Fire e Noise Electric) |

L’Albedo è formato da un sistema a 3 livelli dei quali i due superiori sono Shader Procedurali. Il livello in basso contiene invece un semplice Color Shader.

Il livello di base ha il metodo di fusione impostato su “Normal”. Come è ovvio, tutto quello che si trova sotto un livello “Normal” non risulta visibile.

Canale Reflection

Per il canale Reflection è stata impiegata una mappa costituita, anche in questo caso, da un sistema a più livelli. Il livello di base è una Texture mentre i due livelli superiori sono Shader Procedurali.

↑| Texture 01 – Reflection – Layer 1 | La mappa impiegata per il Glossiness è composta da tre layers. All’interno del primo layer sono presenti solo shader procedurali |

↑| Texture 01 – Reflection – Layer 2 | La mappa impiegata per il Glossiness è composta da tre layers. All’interno del secondo layer viene impiegato lo shader procedurale Noise Electric |

↑| Texture 01 – Reflection – Layer 3 | La mappa impiegata per il Glossiness è composta da tre layers. All’interno del terzo layer viene impiegata una texture |

Questo rendering di prova illustra le caratteristiche di questo materiale, che costituirà anche il materiale principale all’interno del Corona Layered Material.

↑| Render Test – Texture 01 | Sono attivi i canali Diffuse e Reflection |

Texture 02

Canale Reflection

Per il secondo materiale è attivo soltanto il canale Reflection. Si tratta di un semplice Gradiente che ha la funzione di accentuare le riflessioni nella parte centrale della sfera.

↑| Texture 02 – Reflection | In questo caso viene usato solo il gradiente per attenuare le riflessioni sulle parti terminali della Sfera |

↑| Render Test – Texture 02 | Per il secondo materiale risulta attivo solo il canale reflection |

Texture 03

Canale Reflection

In questo caso sfruttiamo lo stesso Shader Procedurale già impiegato per il primo modificatore Displacer. Il Pattern “Scales 2” viene impostato in scala di grigi in modo che le tessere del mosaico risultino di tonalità differenti; di conseguenza anche la lucentezza delle tessere non sarà uniforme ma differenziata sulla base dell’intensità dei grigi.

↑| Texture 03 – Reflection | Per la mapa di Glossiness è presente solo uno Shader procedurale. Inoltre risulta modificato il Reflection Color |

↑| Render Test – Texture 03 | Risulta attivo solo il canale Reflection |

Texture 04

Canale Bump

Per l’ultimo materiale abbiamo lasciato attivo solo il Canale Bump al fine di aggiungere i microdettagli necessari a rendere più credibile la superficie. Come mappa è stato impiegato uno Shader Procedurale Disturbo (Naki) con una Scala Globale impostata al 30%.

↑| Texture 04 – Bump | Viene impiegato il Noise Naki per la definizione dei microdettagli |

Test Definitivo

Corona Layered Material composto da quattro differenti materiali

A questo punto non bisogna fare altro che inserire all’interno del Corona Layered Material tutti i materiali già costruiti. Il contributo di ogni materiale può essere personalizzato sia intervenendo sul parametro Amount che agendo sulle maschere per fare in modo di mostrare (o nascondere) solo alcune parti di un certo materiale.

↑| Corona Layered Material | Sono state impiegate 4 differenti texture per costruire il materiale definitivo. Per ogni texture può essere impostata la forza di blending (amount) e una maschera (mask) |

↑| Render Test Definitivo | La somma dei quattro materiali uniti all’interno del Corona Layered Material |

Forse risulterà superfluo dire che esistono soluzioni software molto avanzate per la costruzione delle texture. Personalmente ho avuto modo di testare le potenzialità davvero notevoli di Substance Painter e ne sono rimasto affascinato. Tuttavia, credo che la possibilità di fare tutto all’interno di Cinema 4D sia di grandissima utilità in quanto spostarsi tra più software non è sempre agevole e spesso richiede una dotazione hardware non alla portata di tutti.

Riferimenti

Physically-Based Rendering, And You Can Too!

In questo articolo  pubblicato sul portale di Marmoset Toolbag si possono reperire molte informazioni utili per comprendere il significato di Albedo (anche noto come Diffuse Map). Sono presenti inoltre contenuti di ottima qualità che spiegano con chiarezza le caratteristiche fisiche dei materiali (Microsurface, Fresnel, Reflectivity, ecc.).

Consiglio a tutti questo approfondimento (in Lingua Inglese).

Pin It on Pinterest

Share This