Salve a tutti!

Questo è il mio primo tutorial su Substance Painter ma, come ho spiegato nel primo dei nuovi video di questo canale, pubblicato il 7 Luglio 2019, non sto scrivendo "lezione 0" o "prima puntata", in quanto non intendo seguire una scaletta, anzi: prevedo di creare video integrativi, che in alcuni casi potrebbero risultare propedeutici ad argomenti già discussi, anche in base ai vostri commenti e alle vostre richieste o domande; vi consiglio, invece, di fare due cose:

  1. iscrivervi alle Playlist che vi interessano, tra quelle del mio canale (ad esempio, dal momento che state guardando questo video, alla Playlist "Substance Painter – Tutti i video"); in generale, infatti, i video saranno brevi, focalizzati su argomenti specifici e pubblicati in maniera disordinata, MA per quest'ultimo punto vi verranno in aiuto le Playlist che creerò, nel tempo, sul canale (anche più di una per software), perché le riordinerò dinamicamente, in base ai video che pubblicherò di volta in volta;
  2. tenere d'occhio la Descrizione di questo e altri video, perché di volta in volta la aggiornerò, ad esempio per inserire riferimenti a versioni testuali, altri tutorial, eBook o in generale risorse utili, magari non disponibili o non ancora realizzate al momento della registrazione del video.

Una nota riguardante gli Assets, ovvero i modelli 3D, i materiali, i file di progetto e, in generale, le risorse utilizzate nei tutorial: in questo e altri video farò uso di risorse mie o altrui e metterò i link a tali risorse nella descrizione dei video, così – se vorrete – potrete recuperarli, ad esempio per riprodurre per conto vostro le operazioni viste nei video, ma attenzione: non sarà necessario averli per imparare, nel senso che tutte le informazioni necessarie per apprendere un concetto o un tema verranno descritte in uno o più videotutorial; al più vi rimanderò ad altri video qui su Youtube, mettendo i link nelle descrizioni, ma non sarà necessario acquistare pacchetti Premium e non vi dirò "per saperne di più, acquistate questo ebook / questo set di script" o cose del genere.

Bene, fatte queste premesse, iniziamo!


COSA SONO I MATERIALS

Se siete qui, molto probabilmente sapete già che Substance Painter è un programma che consente di creare Materiali e Textures per modelli 3D; i file dei modelli 3D vanno quindi importati in Substance Painter e, qui, è possibile creare le immagini Textures, mappandole sulle geometrie, ed esportare tali immagini, così l'oggetto potrà essere utilizzato, provvisto di Textures, in motori di gioco (come Unity o Unreal) per creare videogiochi o anche applicazioni con realtà virtuale o aumentata, in software di animazione e rendering (come Blender 3D, 3D Studio MAX, Maya), o ancora a sistemi di visualizzazione 3D real-time su Internet (come Sketchfab) ed altro ancora.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 01

Prima di continuare (anzi: in effetti, prima ancora di parlare dell'interfaccia del programma o di importare un modello 3D in un nuovo progetto vuoto di Substance Painter), bisogna quindi dire cosa si intende per Materiale (ogni tanto dirò Material, visto che nei menù di Substance troviamo, tra le varie voci, Material e Smart Material).

Un Materiale è un insieme di informazioni che, fornite ad un oggetto 3D, definiscono come questo si comporterà quando illuminato e renderizzato in una scena virtuale. Il rendering (l'immagine finale visibile a video, sia in maniera statica che in tempo reale) è infatti il frutto dell'interazione tra luce e superficie in una scena virtuale, per cui abbiamo da un lato le fonti di luce (di vario tipo: dalle lampade virtuali alle Texture ambientali illuminanti) e dall'altro le superfici (o, in alcuni casi, i volumi) degli oggetti; a questo primo risultato è possibile aggiungere la post-produzione ma, come dice il nome, si tratta in realtà di effetti e filtri applicati DOPO il rendering il vero e proprio.

Ok, quindi un Materiale è una serie di informazioni... già, ma quali?


IL PARADIGMA PBR: PHYSICALLY BASED RENDERING

A seconda del modello teorico (o "schema", "metodo", "paradigma") utilizzato per realizzare i rendering, è possibile specificare vari tipi di informazioni, ciascuna con le sue caratteristiche; Substance Painter, in particolare, ci consente di definire Materiali che seguono il modello Physically Based Rendering (PBR; a volte troverete anche PBS, che sta per Physically Based Shading, con Shading che vuol dire "ombreggiatura", con riferimento alle superfici degli oggetti, ovviamente).

 20190911 SP 2019 000 Introduzione PBR Materiali Textures 02

In questo tutorial non scenderemo troppo in dettaglio con la teoria del PBR, che vedremo in un Tutorial dedicato; qui, vedremo solo quali sono e, soprattutto, come si combinano tra loro le Textures fondamentali che ci servono per definire un Materiale PBR in Substance. Ci serve capire queste cose per poter creare e personalizzare i nostri Materiali "a colpo sicuro", senza tirare a indovinare mentre modifichiamo i parametri di questo o quel canale di informazioni di un Material.


IL MODELLO 3D UTILIZZATO IN QUESTO TUTORIAL

Per evitare di rendere questo video troppo teorico e troppo statico (nelle immagini), parlerò degli elementi fondamentali del PBR e di come si traducono in Substance facendo uso di un modello 3D già provvisto di Materiali e texturizzato in questo programma; ecco il link a tale risorsa (che contiene, in un archivio ZIP, sia il modello 3D in formato FBX che il progetto Substance che sto utilizzando in questo video, così come lo vedete):

https://gumroad.com/l/SP_BARILE

il pacchetto NON contiene, invece, la versione testuale di questo tutorial; ad ogni modo, come detto precedentemente, non è assolutamente necessario avere questo pacchetto (modello 3D e progetto Substance) per seguire il video e imparare.

 20190911 SP 2019 000 Introduzione PBR Materiali Textures 03

  

Il paradigma Physically Based Rendering, come suggerisce il nome, si basa su un approccio fisico, basato cioè su quanto avviene nel mondo reale.

È possibile specificare i Materiali con due metodi di lavoro: Metallic e Specular; nel primo caso, si distinguono le superfici tra metalliche e non metalliche e, partendo da questa distinzione, tutti gli altri canali si comportano in maniera diversa; nel caso Specular, invece, si definiscono l'intensità e l'eventuale tinta di colore dei riflessi speculari per determinare in che modo si comporterà la luce che interagisce con la superficie dell'oggetto.


I PRINCIPALI CANALI DI INFORMAZIONE DEL METODO PBR

In particolare, nel metodo di lavoro PBR Metallic (quello utilizzato in questo esempio), l'aspetto di una superficie è dato da alcune caratteristiche, le più importanti delle quali sono:

  • la sua natura, in particolare distinguendo per prima cosa se si tratta di un metallo o di un non-metallo (o: "dielettrico");

20190911 SP 2019 000 Introduzione PBR Materiali Textures 04

  • il suo "Base Color" (colore base), che in un oggetto metallico indica l'intensità dei riflessi luminosi, mentre negli oggetti non metallici indica effettivamente il colore base di una superficie, senza effetti illuminazione;

20190911 SP 2019 000 Introduzione PBR Materiali Textures 05

  • il livello di levigatezza ("Glossiness", che letteralmente vuol dire "lucentezza") o, al contrario, di rugosità ("Roughness") della superficie, nei suoi vari punti.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 06

A queste caratteristiche, osservate nel mondo reale, se ne aggiungono alcune che fanno comodo nel mondo virtuale; ad esempio, mediante particolari immagini Textures come le Normal Maps o le Height Maps è possibile simulare la presenza di dettagli senza modellarli sulle geometrie (in modo da risparmiare vertici, spigoli e facce – e, quindi, risorse di calcolo in fase di rendering, soprattutto in videogiochi e altre applicazioni in tempo reale).

20190911 SP 2019 000 Introduzione PBR Materiali Textures 07

Il barile di legno che sto utilizzando in questo video ci consente di esaminare, in un unico oggetto, come queste informazioni di base si traducono in Textures e si combinano tra loro in un Material di Substance.

Per visualizzare l'anteprima del Materiale completo applicato all'oggetto nella finestra 3D, premo il tasto M (Material, appunto), oppure scelgo Material dal menù a tendina in alto a destra nella finestra 3D.

Come potete vedere, abbiamo sia degli elementi metallici (in ferro) che non metallici (in legno), cosa che ci consentirà di apprezzare le differenze con le quali questi due tipi di materiali vengono trattati, nella definizione del loro colore base e dei colori dei riflessi speculari, nel paradigma PBR.

Per visualizzare i singoli canali di informazione (che si traducono in altrettante immagini Textures applicate sulla superficie dell'oggetto), possiamo premere più volte il tasto C o scegliere il canale che ci interessa nel menù a tendina in alto a destra nella vista 3D.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 08


IL CANALE METALLIC

Iniziamo con il canale Metallic, che definisce quali parti del Materiale trattare come metalliche e quali no, in particolare mediante un'immagine in scala di grigi, dove il bianco viene utilizzato per un metallo puro e il nero per un non-metallo puro; nel caso del barile abbiamo anche dei grigi perché il materiale utilizzato per le parti metalliche, "iron old", deve rappresentare – come suggerisce il nome – del ferro vecchio, usurato, magari con della polvere, della polvere o della ruggine che ne abbassano la "metallicità", per così dire.

Le parti in legno appaiono, invece, assolutamente nere, ovvero non metalliche, come è giusto che sia.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 09


IL CANALE BASE COLOR

Passiamo al secondo canale fondamentale del PBR, ovvero Base Color.

Come potete vedere, questo canale di informazioni presenta il colore base dell'oggetto mediante una Texture a colori, senza effetti di illuminazione o ombreggiatura: si tratta di Textures "piatte", per così dire. I colori delle parti metalliche e delle parti in legno hanno intensità simili: il colore è diverso, è vero, ma non ci sembrano così radicalmente diversi, nell'aspetto, pur appartenendo a sostanze completamente diverse...

20190911 SP 2019 000 Introduzione PBR Materiali Textures 10

Il motivo è che la distinzione, in fase di ombreggiatura e rendering, è fatta da Substance ricorrendo al canale (e alla relativa Texture) Metallic, che dice a Substance che i riflessi luminosi vanno gestiti in maniera differente a seconda che riguardino una superficie di tipo metallico o non metallico: i grigi del Base Color delle parti metalliche definiscono infatti l'intensità dei riflessi luminosi (e un'eventuale tinta di colore) da dare a tali riflessi.


SOSTITUIRE IRON OLD CON UN METALLO PURO

Il materiale Iron Old è un materiale "sporco", quindi l'effetto non viene apprezzato molto, ma guardate come cambiano le cose, nei vari canali e nel risultato finale, se tra il materiale del legno e quello del metallo inserisco un Material "Aluminium Pure" di Substance e se disabilito il materiale Iron Old sottostante:

20190911 SP 2019 000 Introduzione PBR Materiali Textures 11

nel risultato finale (Material, che compone tutti i canali di informazione), le parti metalliche appaiono MOLTO più riflettenti di prima;

20190911 SP 2019 000 Introduzione PBR Materiali Textures 12

nel canale Metallic, le parti metalliche sono in bianco puro: si tratta di un metallo purissimo;

20190911 SP 2019 000 Introduzione PBR Materiali Textures 13

nel canale Base Color, le parti metalliche sono quasi bianche: segno che in quei punti l'intensità dei riflessi speculari sarà massima e non ci sarà alcuna tinta di colore.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 14

Guardate ora cosa succede portando a zero il valore del parametro Metallic di Aluminium Pure: le "fasce" sono diventate bianche, non riflettono più come prima, sembrano degli oggetti di plastica bianca.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 15

Riportiamo ora Metallic a 1, ma abbassiamo il valore del Base Color: le fasce mantengono la "riflettività" tipica del metallo, ma diventano via via più scure.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 16

Il punto è questo: nel Workflow Metallic, come questo, il Base Color di un oggetto non basta, da solo, per definire come e quanto sarà riflettente una superficie, perché bisogna specificare se si tratta di un Metallo o meno; in un metallo, l'intensità del Base Color è anche l'intensità dei riflessi luminosi e speculari, mentre in un non metallo il Base Color definisce solo il colore proprio della superficie, come avviene sulle parti in legno del barile.


LA ROUGHNESS

Sto lasciando il materiale Aluminium Pure attivato e Iron Old disattivato per mostrarvi gli effetti del terzo canale fondamentale di un Materiale: Roughness.

La Rugosità, opposta rispetto alla levigatezza, viene rappresentata, come la mappa Metallic, con un'immagine in scala di grigi, dove il bianco è la rugosità massima, mentre il nero rappresenta una superficie completamente lucida, perfettamente riflettente; in effetti, uno specchio perfetto viene implementato, nel PBR, con un Materiale metallico con colore bianco puro e Roughness 0, come sto mostrando a video in questo momento.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 17

Aumentando il valore di Roughness renderemo la superficie meno levigata e, quindi, i suoi riflessi speculari più diffusi (sfocati, in un certo senso). Ciò vale sia per i metalli che per i non metalli.

 

20190911 SP 2019 000 Introduzione PBR Materiali Textures 18


CANALI AGGIUNTIVI: NORMAL E HEIGHT PER SIMULARE I DETTAGLI

Adesso sto rimuovendo il Materiale Aluminium Pure e sto riattivando Iron Old per tornare alla configurazione originale del progetto e dare un'occhiata ad alcune informazioni "extra" che, in Computer Grafica, consentono di aggiungere dettagli alle superfici in fase di rendering, ovvero senza doverli modellare fisicamente sulle geometrie.

Seleziono, quindi, la voce "Normal + Height + Mesh" dal selettore in alto a destra nella finestra 3D.

Questa vista mostra la combinazione di più canali di informazione che influenzano i dettagli simulati sulla superficie di un oggetto; senza questi dettagli, le superfici dell'oggetto apparirebbero lisce, poco credibili, soprattutto nelle parti in legno.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 19

In particolare, nell'esempio che sto mostrando a video i dettagli della superficie vengono implementati principalmente, nelle parti in legno, dal livello "Fibers"; per osservare le differenze nell'aspetto della superficie con e senza quelle informazioni, è sufficiente disattivare i relativi livelli nella scheda Layers, osservando le differenze sia in modalità "Normal + Height + Mesh" che in modalità "Material", nella 3D View. Le differenze diventano più evidenti se si illumina l'oggetto con un'illuminazione "di taglio", anziché frontale.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 20

Effetti del genere sono presenti anche nelle parti metalliche, implementate mediante i canali di informazione Height e Normal di due livelli di Iron Old (Iron e Edges); come si può constatare, queste Textures rendono molto più interessanti alcune superfici che, in loro assenza, finirebbero per risultare inverosimili, perché troppo "lisce", "livellate", in un certo senso.

20190911 SP 2019 000 Introduzione PBR Materiali Textures 21


RICAPITOLANDO...

Un Materiale è un insieme di informazioni, implementate mediante immagini (alcune in scala di grigi, alcune a colori) mappate sulle superfici degli oggetti, combinate insieme secondo un criterio, che nel nostro caso è il paradigma PBR Metallic; tali informazioni definiscono il modo in cui la superficie dell'oggetto e le fonti di luce interagiscono per produrre l'immagine finale.

Il PBR è basato su caratteristiche dei materiali osservate nel mondo reale e implementate, in Computer Grafica, combinando in maniera opportuna delle Textures che rappresentano tali caratteristiche.

Il metodo PBR prevede due "schemi" di lavoro (Workflow): Metallic e Specular; in questo tutorial abbiamo visto un esempio seguendo la metodologia Metallic.

Nel metodo PBR Metallic, per prima cosa dobbiamo definire, mediante una Texture in scala di grigi, se le parti di una superficie saranno metalliche o no.

Nelle parti metalliche, l'informazione Base Color (una Texture a colori) definisce l'intensità e l'eventuale tinta di colore da dare ai riflessi speculari; nelle parti non metalliche, Base Color è solo il colore proprio della superficie, senza effetti di illuminazione o ombreggiatura.

La Roughness indica il grado di rugosità di una superficie; con una Roughness bassa i riflessi saranno molto ben definiti (il materiale si comporterà da specchio perfetto, in una superficie metallica con colore di base bianco), mentre all'aumentare di tale valore i riflessi luminosi saranno via via più diffusi, sfocati; è opposta alla Glossiness (la "lucentezza").

Le Textures Normal (immagini a colori) e le Height Map (particolari immagini in scala di grigi) consentono di simulare la presenza di dettagli sulle superfici in fase di visualizzazione e rendering degli oggetti; sono utili per risparmiare geometrie e, quindi, risorse di calcolo, soprattutto per le applicazioni in tempo reale come videogiochi o app di realtà virtuale o aumentata.

Bene, per questo videotutorial introduttivo sugli elementi di base del PBR, dei Materiali e delle Textures in Substance Painter, ci fermiamo a questi primi quattro canali di informazione; realizzerò altri tutorial nei quali prenderò in esame singolarmente alcuni canali (come Height e Ambient Occlusion, ad esempio) oppure, al contrario, esaminerò tutti i canali di un Materiale (per vedere come si combinano per ottenere effetti particolari), a seconda dei casi.

Vi invito ad esprimere dubbi, osservazioni e richieste nei commenti al video, su Youtube; a presto!