Come usare le texture Albedo, Height, Normal, Roughness, AO, Metallic per creare materiali PBR

Nessun commento:
 


Le idee per i contenuti che ho pubblicato in questi anni su questo blog sono arrivate quasi sempre da domande ricevute durante i nostri workshop dal vivo. La domanda che mi ha spinto a scrivere questo post è una delle più frequenti:

“Ho scaricato queste texture da textures.com, che messe insieme all’interno di un materiale dovrebbero portarmi a questo risultato… ma come si usano? Dove metto la texture Roughness? e la Normal? e l’Ambient Occlusion?

Textures.com è solo uno dei tanti siti web da cui potete scaricare (gratuitamente e a pagamento) eccellenti texture con cui creare materiali PBR complessi di ogni tipo con molta facilità (se si sa come come usarle).

Textures.com / home page

Da textures.com potete scaricare sia texture create tramite scansione 3d di superfici reali (quelle nella categoria 3d Scans), sia texture “artificiali” (nella categoria PBR Materials - PBR sta per Physically Based Rendering), create in modo procedurale con i programmi della suite Adobe Substance 3d (soprattutto con Substance Designer) che permettono di creare texture da zero sovrapponendo pattern parametrici e filtri di vario tipo ma anche partendo da fotografie e manipolandole con effetti e regolazioni.

Textures.com / le categorie PBR Materials e 3d Scans

Immaginate di dover creare in uno dei vostri render un muro di cemento, un pavimento in piastrelle o una parete in metallo sporco o arrugginito, un tessuto ricamato, o un qualsiasi altro materiale complesso che non riuscireste a creare con le risorse o con le competenze che avete in questo momento.

Una soluzione può essere quella di collegarsi a textures.com e iniziare a cercare nelle due categorie di prima. La libreria di textures.com è talmente grande che molto probabilmente troverete un’immagine (se non identica) molto simile al materiale che vi serve.



Cliccando su quell’immagine si aprirà una schermata in cui potete vedere l’effetto finale su una superficie o su una sfera e scaricare, scorrendo la pagina verso il basso, tutte le texture che servono a creare quel materiale PBR.



In questo post vi farò vedere come usare queste texture nei Physical Material di Corona per Cinema 4D, ma una volta afferrati i princìpi riuscirete a fare la stessa cosa anche se usate altri programmi e altri motori di render.


Anatomia di un materiale PBR

I materiali PBR possono essere composti da più o meno texture, in base alla loro tipologia e complessità: alcuni ne hanno di meno (ad esempio solo 2 o 3), altri ne hanno di più (fino a 5 o 6). Alcune texture sono a colori, altre in bianco e nero, e i nomi delle varie texture (Albedo, Height, Normal, Roughness, Ambient Occlusion, Alpha, Metallic, Emissive, Anisotropy Angle) vi indicano quale proprietà è raffigurata al loro interno. Ognuna di queste texture va inserita in un layer specifico e qualcuna necessita anche di piccoli aggiustamenti, se si vuole ottenere un buon risultato.

Node material editor di Corona / posizione delle varie texture all'interno del materiale


Albedo (Diffuse / Base Color / Color)

La texture principale è quella chiamata Albedo, ed è a colori perché raffigura il colore della superficie. Ovviamente, nel caso di un cemento o di un metallo grigio questa texture può essere anche in bianco e nero.

Albedo (Diffuse / Base Color / Color)

Come vi dicevo, textures.com non è l’unico sito da cui scaricare texture come queste. Se la scaricate da altri siti web, questa texture potrebbe chiamarsi Diffuse o Base Color o più semplicemente Color. In altri casi ancora trovate solo la lettera “D” all’interno del suo nome, ad esempio: “bare_concrete_016_D.jpg”.

Questa è la prima texture che normalmente si inserisce nel materiale e va nel primo spazio texture in cima al Base Layer. Se state usando un Legacy Material (il “New material” nelle versioni di Corona precedenti alla 7), inserirete questa texture nel Diffuse.



Se volete saperne di più sulle differenze tra i nuovi Physical Material e i Legacy Material
leggete questo post: Come funziona il Physical Material di Corona per Cinema 4D

Se il colore complessivo della texture non è esattamente quello che vi serve, potete modificarlo senza necessariamente passare per Photoshop (questo però dipende dalla portata della modifica che volete fare): inserite questa texture a sua volta in uno shader Filtro (Filter se avete la versione inglese), cliccando sul pulsante all’estremità sinistra della casella texture e scegliendo il Filtro dalla lista che apparirà.

Entrando nel pannello di modifica di questo shader potrete controllare Tonalità (Hue), Saturazione (Saturation), Contrasto (Contrast) e qualche altra caratteristica della texture, e ottenere facilmente delle varianti.



La stessa cosa varrà per le prossime texture: non aspettatevi di ottenere un risultato perfetto dopo aver inserito le texture nelle caselle giuste, perché questo non succede quasi mai. Se volete un risultato perfetto, dopo averle inserite andranno sempre un po’ regolate e modificate.

Suggerimento: dopo aver inserito la prima texture nel materiale non continuate a inserire tutte le altre. Applicate invece il materiale all'oggetto, scegliete la proiezione migliore, verificate che la posizione, la rotazione e la scala della texture siano corrette e poi proseguite con i prossimi passaggi.


Height (Depth / Displacement)

Questa è la seconda texture in ordine di importanza, ed è sempre in bianco e nero.

Height (Depth / Displacement)

Su questa texture, con il bianco e con il nero (e con tutte le sfumature di grigio più chiaro o più scuro), sono rappresentate la forma e il livello di sporgenza dei rilievi tridimensionali che verranno creati sulla superficie dell’oggetto a cui è applicato il materiale. Le zone dell’immagine raffigurate in bianco o in grigio più chiaro si trovano a un livello superiore, quelle più scure ad un livello inferiore.



Questa texture può essere inserita nel Bump o nel Displacement, due layer presenti sia nei Physical (nei Physical Material il Bump si trova tra i parametri del Base Layer, mentre il Displacement ha un suo layer dedicato) che nei Legacy material di Corona, ma anche nei materiali di qualsiasi altro motore di render.

In questo caso, dato che la struttura tridimensionale di questi pannelli in legno è molto importante, meglio inserire la texture Height nel Displacement e non nel Bump.



Anche in questo caso, l’immagine farà il 50% del lavoro. Le due opzioni Min level e Max level controllano l’altezza minima e massima che verranno raggiunte dal Displacement, e dovrete inserire voi i valori giusti in centimetri per non ottenere effetti esagerati o troppo deboli.



Di solito in Min level si lascia 0 cm, di modo che le aree in nero sull’immagine lascino la superficie degli oggetti nella loro posizione originale. In Max level invece inserirete un valore più alto o più basso in base a quanto volete che venga “gonfiata” la superficie dove l’immagine ha delle aree bianche (che raggiungeranno il livello di altezza massima).


Quando mettere questa texture nel Displacement e quando nel Bump?

Se il rilievo da riprodurre è molto sporgente/tridimensionale, come negli esempi qui sotto, questa texture andrà nel Displacement.

Esempi di materiali che necessitano del Displacement

Il Displacement crea delle forme tridimensionali sull’oggetto che, pur essendo visibili solo nel render, hanno un proprio corpo, sono in grado di modificare la silhouette dell’oggetto 3d e proiettare anche le proprie ombre sulle altre superfici.

Se invece il rilievo da riprodurre è molto basso e leggero (come negli esempi qui sotto) non è indispensabile crearne una versione tridimensionale col Displacement. Si può ottenere un ottimo effetto anche inserendo la texture Height nel Bump.

Esempi di materiali in cui è sufficiente l'uso del Bump

Il Bump, a differenza del Displacement, non modifica la struttura 3d dell’oggetto ma crea solo l’illusione della sua presenza. Per questo motivo il Bump può sostituire il Displacement solo nei casi in cui il rilievo è delicato e superficiale, come un tessuto leggermente ruvido, un intonaco granuloso, o un cemento non perfettamente liscio al tatto. Usare il Bump al posto del Displacement significa anche avere un render più veloce, perché è un effetto che richiede meno sforzo al processore.

Ricordatevi che per avere un buon risultato è necessario che le texture Height siano a 16 bit e non a 8 bit, altrimenti sulla superficie potrebbero crearsi dei difetti come questi, che appaiono quando le gradazioni di grigio presenti nell’immagine non sono sufficienti a creare una sfumatura morbida. Questo è anche il motivo per cui le texture Height sono spesso in Tiff o PNG, perché questi formati hanno una capacità maggiore del Jpeg.




Roughness (Glossiness / Surface Imperfections)

Nel mondo reale una superficie può essere più liscia o più ruvida, e in base a questo varia la lucidità della riflessione dell'ambiente che la circonda. Se la superficie è liscia e levigata, la riflessione è più lucida (in inglese diremmo “glossy”); se la superficie è più ruvida, allora la riflessione è più sfumata/morbida (“matte”).



Questa texture è in bianco e nero, e su di essa sono rappresentate (con sfumature di grigio più scure o più chiare) le aree in cui la superficie è più liscia o più ruvida, e di conseguenza le aree in cui la riflessione è più o meno lucida.

Roughness (Glossiness / Surface Imperfections)

Potete trovarla nominata in vari modi: Roughness map, Rough map, Gloss map, Glossiness map, Surface imperfections map, Micro surface map.

Questa immagine va nel Roughness, che è l’opzione che controlla proprio la ruvidità/levigatezza della superficie, e di conseguenza la lucidità della riflessione.



Se l’effetto di partenza non è come ve lo aspettavate, inserite la texture in un Filtro e modificate l’opzione Gamma per schiarirla o scurirla. Più schiarite la texture e più sarà alto il Roughness (e viceversa). In questo caso per ottenere una riflessione complessivamente meno lucida ho alzato il Gamma a 2.05.



L’IOR (Index of Refraction) controlla invece la potenza della riflessione. In altre parole, l’IOR stabilisce se l’immagine riflessa dell’ambiente che circonda quell’oggetto sarà più o meno visibile sul materiale. Se il materiale è trasparente (detto più tecnicamente: se il layer Refraction è attivo) l’IOR controlla anche la deformazione ottica che avrà l’immagine della scena vista attraverso quel materiale.



Questo valore dovrete inserirlo voi, non ci sono immagini che faranno il lavoro al vostro posto. E ogni materiale necessita di un IOR diverso dall’altro per sembrare reale. Esistono anche delle tabelle su internet in cui trovate l’IOR da inserire in base al materiale, ma non vi consiglio di affidarvi troppo a quelle tabelle.

Nei materiali non-metallici l’IOR può avere un valore minimo di 1 e un valore massimo di 3. Muovetevi in questo intervallo per ottenere la riflessione giusta, considerando che nella maggior parte dei casi con 1.5 (il valore di default) si ottiene una riflessione “media” che spesso va bene un po’ per tutto, perché non è troppo forte né troppo debole.

Tre domande frequenti su questo tema

1. Che differenza c’è tra Roughness e IOR?

Gli oggetti riflettenti sono quelli sulla cui superficie è possibile vedere la riflessione dell’ambiente circostante. L’IOR è il valore che stabilisce quanto l’ambiente circostante sarà visibile sulla superficie dell’oggetto riflettente. Con un IOR più alto l’ambiente circostante sarà più visibile, con un IOR più basso sarà meno visibile. Se la riflessione dell’ambiente circostante fosse un “livello”, potremmo dire che l’IOR controlla la trasparenza di quel livello.



Il Roughness controlla invece la nitidezza della riflessione. Alcuni materiali hanno una riflessione più lucida, nitida, cristallina altri più morbida, sfumata opaca. Con un Roughness basso si ottiene una riflessione più lucida e viceversa. Qui sotto vedete due esempi di materiali riflettenti con Roughness più alto e più basso.



2. Che differenza c’è tra inserire una texture nell’IOR e inserirla nel Roughness?

Se si inserisce una texture in bianco e nero nell’IOR, quella texture controllerà l’opacità/trasparenza della riflessione. Nelle parti scure della texture la riflessione sarà più bassa; se ci fossero parti nere la riflessione scenderebbe al minimo (IOR = 1). Nelle parti chiare la riflessione sarà più alta; se ci fossero parti bianche la riflessione salirebbe al massimo (cioè quello stabilito da voi con il valore di IOR inserito nella casella in percentuale).

Se invece si inserisce una texture in bianco e nero nel Roughness, quella texture controllerà le differenze di lucidità della riflessione. Nelle parti scure la riflessione sarà più lucida; se ci fossero parti nere la riflessione sarebbe perfettamente lucida (Roughness = 0%). Nelle parti chiare la riflessione sarà più morbida, sfumata; se ci fossero parti bianche la morbidezza della riflessione salirebbe al massimo, (Roughness = 100%) sfuocando quasi del tutto le sagome degli oggetti riflessi.

3. Che differenza c’è tra Roughness e Glossiness?

Nei materiali di vecchia generazione (Legacy), la ruvidità/levigatezza della superficie e di conseguenza la lucidità della riflessione (matte/glossy), era gestita dal Glossiness, che controllava la stessa proprietà del Roughness ma “al contrario”, ovvero con il bianco si ottenevano superfici perfettamente lisce/lucide e viceversa. Se trovate una ottima texture Glossiness, potete utilizzarla nel Roughness invertendo i suoi toni di bianco e nero, e regolandone la luminosità con il Gamma.



Normal

Sulla texture Normal sono raffigurate le direzioni verso cui sono rivolte le superfici dei rilievi creati dalla texture Height. Questa texture contiene le informazioni necessarie ad arricchire l’effetto di rilievo di cui si occupa il Displacement o il Bump e ottenere effetti più dettagliati e realistici.

Normal map

La texture Normal va inserita nel Bump, in alternativa alla texture Height o in aggiunta alla texture Height. Una volta inserita nella casella Texture del Bump (1), perché funzioni correttamente dovrete inserirla a sua volta in uno shader di Corona chiamato Normal (2).



In molti casi si ottengono ottimi risultati anche senza l’aggiunta della Normal, quindi vi consiglio di creare il rilievo del materiale con la texture Height, verificare il risultato con un rendering e poi decidere se inserire anche la Normal oppure no.



Per capire meglio la differenza tra un rilievo ottenuto solo con un’immagine in bianco e nero e uno ottenuto con l’aggiunta della texture Normal, immaginate di dover scolpire un bassorilievo con uno scalpello. Inserire un’immagine in bianco e nero nel bump/displacement equivale a poter tenere lo scalpello solo in posizione verticale. Aggiungere la Normal equivale a poter inclinare lo scalpello anche in diagonale (in tutte le direzioni) per scolpire meglio i dettagli delle forme.


Alpha (Opacity / Transparency)

La texture Alpha (o Opacity) è la texture in bianco e nero che controlla l’opacità del materiale, in altre parole serve a “bucare” il materiale dove questo deve risultare trasparente.



Non tutti i materiali sono dotati di questa texture, ma solo quelli che hanno dei fori o delle zone trasparenti sulla loro superficie, come quelli qui sotto:

Esempi di materiali "forati" che necessitano della texture Alpha

Questa texture va inserita nel layer Opacity, presente sia nel Physical che nei Legacy material, e nei materiali di qualsiasi altro motore di render (in altri motori potrebbe chiamarsi Alpha o Transparency).



Di solito non ha bisogno di regolazioni quindi non serve inserirla in un Filtro.


Metallic (Metalness)

Il modo in cui una superficie riflette la luce cambia radicalmente se quella superficie è metallica oppure no (“non-metallica”). In parole molto povere, le superfici non-metalliche (plastica, legno, vetro, acqua, cemento, porcellana, erba) riflettono una quantità minore di luce, mentre le superfici metalliche ne riflettono molta di più.



Inoltre alcune “sostanze” non-metalliche si lasciano attraversare dalla luce, sono traslucide (come il plexiglass, la cera, l’onice, il marmo, l’ambra, le foglie di una pianta) o in alcuni casi completamente trasparenti (come il vetro o l’acqua limpida).

Per questo motivo, una delle scelte iniziali che dovrete fare durante lo sviluppo di un Physical Material di Corona, sarà la selezione del Metalness mode, tra Metal e Non-metal.



Se selezionate Metal, alcune opzioni appariranno disabilitate perché il Physical Material vi impedirà di utilizzare gli effetti di trasparenza e traslucenza (Refraction, Thin absorption, Volumetrics, Traslucency, SSS) che porterebbero a risultati non realistici. Altre invece saranno abilitate perché tipiche dei metalli (come l’Edge color). Se selezionate Non-Metal, per lo stesso motivo, l’Edge color risulterà disabilitato mentre sarete autorizzati a modificare tutte le altre opzioni che controllano trasparenza e traslucenza (Refraction, Thin absorption, Volumetrics, Traslucency, SSS).

Sotto il menu a tendina con cui scegliere il Metalness mode c’è uno spazio in cui inserire una texture: quello è il punto in cui inserire la texture Metallic.



Solo i materiali che hanno sulla loro superficie parti metalliche e non-metalliche, come quello qui sotto, sono dotati di questa texture. Se il materiale è completamente metallico o non-metallico, basterà impostare Metal o Non-metal dal menu a tendina, e non ci sarà bisogno di usare una texture.



Questi pannelli in legno hanno una parte centrale in metallo. Sulla texture Metallic sono raffigurate le parti in cui la riflessione dovrà avere un comportamento metallico (in bianco) e quelle in cui la riflessione dovrà avere un comportamento non-metallico (in nero). Le parti in legno sono raffigurate in nero, quelle metalliche in bianco.



In questo caso sulla texture Metallic c’è anche del grigio, con cui sono raffigurate le parti metalliche usurate, consumate, che hanno perso la loro lucidità o cromatura, e che quindi sono a metà tra una riflessione metallica e non-metallica.

Un altro esempio può essere questo:



Sulla texture Metallic di questo materiale sono disegnate (in bianco) le parti metalliche del circuito:



E ancora, la texture Metallic di queste piastrelle decorative serve a differenziare gli inserti dorati dalla parte principale del pannello, in pietra (o qualcosa del genere):





Di solito questa texture non richiede regolazioni, quindi non serve inserirla in un Filtro.


Ambient occlusion

L’Ambient Occlusion (abbreviato in AO) è un effetto che annerisce le parti del modello 3d che sono molto vicine tra loro, simulando l’ombra dovuta alla difficoltà che la luce farebbe a passare in quelle fessure, scanalature, concavità, occlusioni.



L’AO può rilevare, oltre alle concavità, anche le convessità del modello 3d, per ottenere ad esempio un legno con i bordi rovinati o un metallo con i bordi scheggiati.



L’AO può essere anche generata da Corona sul modello 3d, usando lo shader di Corona chiamato appunto “AO”, ma il render sarebbe più lungo e faticoso perché lo shader deve esaminare il modello 3d per capire dove posizionare l’effetto e dove no. La texture AO è una “fotografia” di dove questo effetto verrebbe posizionato dopo il calcolo dell’AO, che però non richiede una simulazione e quindi permette un render più rapido.



Sovrapponendo questa texture a quella principale presente nel Base layer, potremo gestire anche la presenza, l’opacità dell’effetto, creando un materiale più o meno sporco, annerito nei bordi o nelle fessure.



Il raggio del bordo invece non possiamo gestirlo. Se volessimo farlo allora dovremmo usare lo shader AO, che permette di personalizzare questo dettaglio e tanti altri come l’estensione dell’effetto, la lunghezza e durezza della sfumatura, la regolarità.

Questa texture va sovrapposta alla texture principale presente nel Base layer. Per farlo dovrete prima inserire la texture principale in un Livello (Layer).



A questo punto potete entrare nella modifica del Livello, cliccare sul pulsante Immagine… (Image…) e selezionare la texture AO.



La texture verrà raffigurata come un "livello", a cui dovrete dare la giusta posizione (sopra la texture Albedo), la giusta modalità di fusione, ovvero Moltiplica (Multiply), e l’opacità che desiderate da 0 a 100% a vostra scelta.



Scegliendo questa fusione (Moltiplica), della texture AO sopravviveranno solo le parti nere e grigio scuro, mentre quelle bianche diventeranno trasparenti.

Cosa sono le fusioni (Moltiplica, Scherma, Sovrapponi)?

Per diverso tempo, quando ero alle prime armi, ho usato le fusioni a casaccio, senza sapere bene quale fosse il loro funzionamento. Le selezionavo una alla volta e mi fermavo su quella che mi portava ad un buon risultato. Cercavo su internet ma ho trovato sempre informazioni molto tecniche e poco comprensibili.

Poi un giorno mi sono imbattuto in un’immagine che in pochi secondi ha chiarito tutti i miei dubbi su quale sia la differenza tra le fusioni più utilizzate: Moltiplica (Multiply), Scherma/Scolora (Screen) e Sovrapponi (Overlay).



Quando un’immagine è sovrapposta ad un’altra in modalità di fusione Moltiplica (Multiply), l’opacità di quell’immagine viene controllata dalla luminosità dei suoi colori. Le parti nere rimangono visibili al 100%, mentre quelle bianche spariscono del tutto. Le gradazioni intermedie determinano livelli di trasparenza intermedi. Ecco perché questa fusione è perfetta per sovrapporre alla texture principale uno strato di sporco.

La fusione Scolora (Screen) fa il contrario: il bianco rimane visibile al 100%, il nero sparisce.

C’è poi una terza fusione molto utile, Sovrapponi (Overlay), che se assegnata all’immagine la trasforma in una “regolazione” per l’immagine che c’è sotto di lei. Le parti bianche dell’immagine in Sovrapponi (Overlay) alterano quella sottostante rendendola più luminosa, le parti nere la alterano rendendola più scura e contrastata. Le parti in grigio al 50% lasciano l’immagine sottostante inalterata.



Non sempre è necessario aggiungere l’AO sulla texture di base, spesso il risultato è già buono senza. Più in generale, quando scaricate un pacchetto di texture come questo, non è obbligatorio usarle tutte. Siete voi a scegliere, passo dopo passo nello sviluppo del materiale, quante e quali texture usare.

Considerate che ogni texture che aggiungete allunga i tempi di render e non necessariamente arricchisce o migliora l’effetto ma può anche peggiorarlo. In molti casi io faccio a meno dell’AO o del Roughness, perché raggiungo già il risultato che desidero prima di aggiungerle.


Emissive (Self-illumination / Luminance)

Alcuni materiali hanno delle porzioni della loro superficie che emettono luce propria, come ad esempio la lava qui sotto:



Sulla texture Emissive (che si può chiamare anche “Self-illumination” o “Luminance”) sono raffigurati i colori delle zone luminescenti.



Questa texture va inserita nel layer Self-illumination. Una volta attivato il layer e inserita la texture, dovrete regolare l’intensità della luce emanata da questa texture modificando l’opzione Multiplier in base all’effetto che desiderate (se più delicato o intenso).



Un altro esempio interessante è questo:



Con questo materiale è possibile costruire tutta la struttura della facciata di un edificio, anche con qualche luce accesa all’interno. Le luci si accendono proprio inserendo la texture Emissive nel layer Self-illumination (insieme a tutte le altre che serviranno a dare colore, tridimensionalità e riflessione ai vari elementi della facciata).



Nessun commento:

Posta un commento

 
© 2022 LUCYDREAMS - Tutti i diritti riservati - P.IVA 13151341008 | Template Designed by Main-Blogger.