Salve a tutti!

In questo tutorial, realizzato con la versione 2019 di Substance Painter (ma valido anche in altre versioni, precedenti e successive), vedremo come recuperare gli ID Colors di un modello, dove presenti, per utilizzarli per creare velocemente delle maschere di livello.

Gli ID Colors sono, come suggerisce il nome, dei colori associati a vertici o facce di un modello 3D; non si tratta dei colori che vengono visualizzati in fase di rendering, ma di informazioni aggiuntive memorizzate nel canale di informazione “Vertex Colors” dell'oggetto: i valori RGB di un colore sono, in effetti, numeri, per cui possono essere utilizzati come parametri per filtri e altri strumenti.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 01

Substance Painter (e anche altri software e strumenti) sono in grado di recuperare queste informazioni e utilizzarle per vari scopi; ad esempio, in Substance possiamo creare delle maschere di livello selezionando in un colpo solo tutte le geometrie che hanno lo stesso Vertex Color.

Quando aggiungiamo una maschera di livello ad un Materiale in un progetto, tra gli effetti disponibili per la maschera abbiamo anche la voce “Color Selection”; tuttavia, una volta aggiunto un elemento di questo tipo, può capitare di trovare la scritta “ID not found”, mentre lo strumento “Pick Color” non individua nessun colore nella geometria...

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 02

In effetti, durante l'introduzione di questo tutorial ho specificato “dove presenti” perché questi colori vengono forniti, in fase di esportazione di un modello, al canale di informazione “Vertex Colors” dell'oggetto, ma questa operazione non viene effettuata sempre, per cui a volte sono assenti... spostiamoci quindi in Blender 3D (versione 2.92, in questo particolare caso) per vedere come fornire dei Vertex Colors a parti degli oggetti prima di esportarli per Substance Painter.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 03

Nell'esempio che sto utilizzando, vogliamo individuare almeno 4 zone: il cavo, i due contenitori in plastica lucida, la parte metallica dei connettori e i separatori in plastica opaca.

Diamo un'occhiata alla scucitura UV dell'oggetto: notiamo che le varie parti sono state effettivamente separate (tramite i “seams”, le scuciture), per cui sono disposte su “isole UV” diverse, ma queste non sono facilmente identificabili (e, anzi, in questo particolare modello le “isole UV” sono poche, ma vi capiterà sicuramente di vedere scuciture UV di gran lunga più complesse); per questo motivo, decidiamo di assegnare dei Vertex Colors.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 04

Nella vista 3D, passiamo in modalità Vertex Colors e, soprattutto, attiviamo la modalità di selezione facce, nell'header della vista 3D, quindi deselezioniamo tutto (con ALT+A, oppure Select – None nell'header della vista), così da poter iniziare a selezionare le varie parti e assegnare loro i colori.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 05

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 06

Le selezioni possono avvenire con i vari strumenti messi a disposizione da Blender; dal momento che, in questo esempio, le varie parti sono state scucite e disposte su isole UV differenti, posso selezionarle facilmente premendo il tasto L (per “Linked”: parti collegate) mentre il cursore del mouse si trova su una di esse.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 07

Procedo quindi selezionando, per cominciare, le parti dei connettori in plastica lucida, che cambieranno colore (e non mostreranno più gli spigoli della struttura) man mano che li selezionerò.

Per assegnare un Vertex Color a queste parti, per prima cosa seleziono un colore nel pannello Properties di Vertex Paint (pannello che può essere chiuso o aperto con lo shortcut N), quindi premo SHIFT+K (o scelgo Paint - “Set Vertex Color”, nell'header della finestra 3D).

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 08

Per passare al gruppo successivo, deselezioniamo tutto con ALT+A, quindi ripetiamo le operazioni: selezione delle varie isole che ci interessano, scelta del colore, poi “Set Vertex Color” e così via per tutti gli altri gruppi (quattro nel nostro caso).

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 09

Nella scelta dei colori, vi consiglio di scegliere colori MOLTO diversi tra loro, se possibile, in modo da far risaltare le aree a colpo d'occhio, sia in Blender (per individuare velocemente parti mancanti o assegnate in maniera errata) che in Substance Painter (per non sbagliare, in fase di selezione, con sfumature di colore troppo simili tra loro).

Terminato questo lavoro, non resta che esportare il modello 3D in un formato che supporti l'informazione Vertex Color, come ad esempio il formato FBX, per poi tornare in Substance Painter...

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 10

Importato nuovamente il file del modello in Substance Painter, clicchiamo su “Bake Mesh Maps” nella scheda “Texture Set Settings”.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 11

Nella finestra Baking, deselezioniamo le voci che non ci interessano e lasciamo selezionata, ovviamente, “ID”, ma prima di cliccare sul pulsante di Bake apriamo la scheda di questo canale, per assicurarci che la voce “Color Source” (sorgente dei colori da utilizzare per generare la mappa) sia impostata su “Vertex Color”: Substance quindi accederà a questa informazione aggiuntiva del modello per realizzare la mappa ID.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 12

Clicchiamo su Bake e attendiamo l'elaborazione della mappa, che troveremo sia nella sezione ID di “Texture Set Settings” che nelle schede “Properties – Color Selection” dei vari strumenti “Color Selection” creati per le maschere del progetto.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 13

A questo punto, facendo click su “Pick Color” potremo selezionare un ID Color dal progetto e la maschera verrà generata al volo, associando quel materiale a tutte le aree del modello provviste di quel Vertex Color.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 14

L'operazione può essere quindi ripetuta per gli altri materiali, SE lo riteniamo opportuno: questo, infatti, è uno strumento che può tornare utile in certe circostanze, ma ovviamente, a seconda dei casi, potrebbe risultare più facile una selezione con gli strumenti Brush, Polygon, UV Chunk, eccetera; ID Mask è solo un'altra delle frecce che potete aggiungere al vostro arco, senza per questo dover togliere le altre!

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 15

Ricapitolando: se un modello è fornito di Vertex Colors, è possibile ricavare questa informazione in Substance Painter effettuando un Bake della mappa ID (avendo cura di specificare “Vertex Colors” come sorgente dell'informazione che vogliamo recuperare dal modello), dopodiché sarà possibile aggiungere un componente “Color Selection” alle maschere dei vari materiali e, tramite lo strumento “Pick Color”, generare una maschera che includerà solo le geometrie provviste del Vertex Color selezionato.

20210314 SP e B3D Maschere con Color Selection e ID Mask da Vertex Colors 16

Per questo videotutorial è tutto! A presto!