Autore: Riccardo Morgia
Titolo: I believe in life after work
Modellazione: zBrush, Marvelous Designer, Maya
Texturing: Substance Painter
Rendering: Marmoset Toolbag

Salve, mi chiamo Riccardo Morgia e sono un Character Artist. Sono nell'ambito del 3D da diversi anni in diverse piccole produzioni, con l'obiettivo di entrare nello sviluppo gamedev. Nel corso del tempo ho acquisito un focus sui personaggi e sulla modellazione organica, nonostante l'hard surface sia sempre la mia chicca.

Oggi vi parlerò dell'ultimo pezzo nel mio portfolio, "I believe in life after work". Ringrazio gli admin di treddi.com per avermi dato un pò di spazio per raccontarvelo.

All'inizio era un esercizio in Marvelous Designer che ho deciso di portare a termine per fare pratica del workflow. Molte cose sono state imparate sul momento, quindi non pretendo di considerarlo perfetto – spero però che troviate la mia spiegazione utile.


Modellazione


Il personaggio


Non mi vergogno di dire che dato che ho iniziato il progetto solo per testare le capacità di MD è partito da un esercizio che avevo realizzato tempo fa per far pratica di anatomia, che ho poi inserito in Marvelous.

Come prima cosa, ho iniziato a lavorare sul volto in zBrush per darle un aspetto abbastanza particolare, approfittandone per fare un pò di pratica di likeness (basandomi in questo caso su Sayuki Matsumoto, una gravure model giapponese). Ho iniziato raccogliendo un pò di foto da usare come reference per lo sculpt, cercando di ottenere almeno una vaga somiglianza prima di andare in profondità. Dopo di che ho separato la testa dal corpo in un Tool separato – lo trovo comodo per focalizzarmi sui dettagli e, ammettiamolo, per limitazioni hardware – e ho sono sceso nel dettaglio.

aee0402089f24f6a39c34e1bf3b19525.jpg

Alla fine la likeness non era al 100%, ma l'aspetto mi compiaceva ed era abbastanza diversa dai miei altri lavoro, quindi ci ho messo il punto.

I dettagli della pelle del volto sono stati realizzati via alpha di texturing.xyz e tweaking manuale. La pancia e le mani, invece, sono state dettagliate manualmente.

Dopo esser giunto ad una mesh delle proporzioni che volevo, ho esportato da zBrush il livello di subdivision più basso e l'ho importato in Marvelous.



I vestiti

Sarò onesto, Marvelous Designer è un programma fantastico. All'inizio è un pò ostico, ma dopo aver capito come funziona ed aver trovato i pattern giusti permette di risparmiare moltissimo lavoro.

Come prima, ho raccolto qualche reference, ma dato che il mio obiettivo era realizzare principalmente una mesh da utilizzare come base in zBrush mi sono più concentrato sul trovare dei cartamodelli adatti e su idee per textures, colori e pattern.
Vi lascio giusto qualche idea per non riempirvi la pagina di reference formato francobollo.

904e9f3596012321ca48393236e758f0.jpg


La felpa è stata abbastanza facile da realizzare anche senza un  cartamodello, ma i pantaloni si sono rivelati molto ostici, di  conseguenza mi sono trovato costretto a contattare una mia amica sarta  per avere una base su cui lavorare.

fa3588217460567738e517dd2255cce0.jpg
44ae083456dc1aad1808ef3cb205b238.jpg


I pallini arancioni sui pantaloni sono Pins, che permettono di tenere il tessuto fermo in determinati punti proprio come delle spille (da qui il nome). Sono state molto utili per tenere alcune zone attorno al ginocchio ferme permettendomi comunque di risimulare il resto del vestiario.

Dopo aver ottenuto delle pieghe soddisfacenti, ho usato la funzione Quadrangulate per preparare la mesh in zBrush (la funzione Remesh, in beta, crea molti triangoli attorno ai bordi, che non sono ideali per lo sculpting). Esportare il vestiario come Welded e Thin mi ha messo a disposuzione una mesh con un flusso di poligoni costanti e senza interruzioni.

Importata la mesh in zBrush e dandogli un pò di spessore, ho ripulito il risultato, sistemato alcuni volumi e aggiunto dettagli. Le cuciture sono state aggiunte direttamente all'interno del software basandomi sul cartamodello originale. Marvelous, quando esporta il vestiario, lo utilizza per creare le UV, il che vuol dire che la funzione group by UV di zBrush ha prodotto un modello in cui le cuciture erano evidenziate dalle separazioni dei gruppi.
Alla fine, il risultato era abbastanza pulito.

2e0d280f1d3c680050179a301c45bcb0.jpg

737da60f547a7908a5cb1b3689415aa1.jpg


La cintura è stata realizzata in un altro modo. Dopo aver importato i pantaloni ho modellato velocemente la forma della cintura e delle fibbie in Maya, realizzato delle UV più regolari possibili, e creato in Photoshop i pattern che volevo utilizzare per ritagliare le forme e dettagliarle.

b5fb7a2cdbf58f8c36e678e02fbab62e.jpg

cf7ed4f051bce02e19e3b8b80cab5d50.jpg

E' bastato applicarle sul modello unwrappato in zBrush ed utilizzare Mask by Color -> Mask by Intensity per trasformare la mia texture in una mask che mi ha permesso di utilizzare gran parte delle opzioni del software, creando così una cintura molto dettagliata in poco tempo.

e131a1cd5baa00e4f7ad5acad4812061.jpg




Gli accessori

Anche per la borsa sono partito da Marvelous. Ho importato la felpa al livello di subdivision più basso, creato un modello per la borsa, aggiunto la cinghia, fatto partire la simulazione e scoperto che forse dovevo attaccarla alla base con una pin.


Dopo aver recuperato il disastro e averci smanettato un pò, questo è quello che ho ottenuto.


43d8ca94a02a3d88f7767a915c32b721.jpg


Subito ho realizzato che la borsa era vuota e afflosciata; per simulare qualcosa all'interno ho quindi aggiunto dei pattern a forma di cubo all'interno, gli ho dato un tessuto diverso, e alzato il valore di Pressure mentre rendevo il materiale in sè più pesante. Come risultato ho ottenuto dei volumi che tiravano verso il basso il tessuto della borsa tenendola piena nel mentre.

3bcb99cc899c9d30089e43fa6f845263.jpg



Come per i vestiti, ho aggiunto dei dettagli in zBrush prima di retopologizzarla. In questo caso, però, ho approfittato delle UV create da Marvelous per creare velocemente una lowpoly utilizzando l'opzione Transfer Attribute di Maya – creando dei piani con le stesse UV del cartamodello può essere utilizzata per conformare dei vertici esistenti al modello di Marvelous, utilizzando le UV come guida. In questo caso è stata abbastanza cruciale in quanto in alcuni punti il tessuto era troppo stropicciato per il retopo manuale.


fcbed6314e422171874227cda8c0f672.jpg


Il pupazzetto del riccio è stato aggiunto all'ultimo momento e l'ho creato velocemente in zBrush basandomi vagamente su un pelouche esistente.

9fa6dc33fb9f4bb060bb698acdb3f309.jpg






I capelli

La texture dei capelli è una texture realizzata in passato via Xgen per un altro progetto, di cui ho sistemato leggermente il contrasto prima di mettermi al lavoro.

ecd3e91f8145ae06173e93721c8382b7.jpg


Tutti i piani sono stati piazzati a mano, partendo dall'interno e procedendo pian piano verso l'esterno aggiungendo volume e texture sempre più rade man mano che mi allontanavo dal cuoio capelluto. Una volta raggiunto il livello più esterno ho aggiunto qualche piano extra con la texture più rada e ho aggiunto un livello di subdivision per addolcire le curve.

f46c7c010e262d1a9eb59ed4c0728d2c.jpg


Alla fine è la parte più pesante del modello, raggiungendo i 35,000 triangoli anche dopo aver eliminato gli edge loop di troppo.



Retopology

Il lavoro di retopology è stato svolto in Topogun, con l'obiettivo di realizzare un modello game-ready pronto per rigging e animazione. La mesh di conseguenza è principalmente in quads e i triangoli sono utilizzati solo per tenere alcune forme ed evitare facce concave.

Un consiglio che mi capita di sentire spesso è non utilizzare i triangoli durante il retopo. Questo ha senso se il modello è pensato per il subdivision smoothing, ma dato che negli engine in realtime ogni modello viene triangolarizzato, i triangoli sono solo un modo come un altro di mantenere le forme. 

Alla fine del lavoro di retopology il personaggio, con tutti gli accessori, era attorno agli 88,000 tris.



Texturing


Baking

I bakes sono stati effettuati in Marmoset Toolbag. Al momento è uno dei migliori tool per il baking, dando la possibilità di scegliere esattamente cosa esportare nel formato che ti serve e di impostare i gruppi di baking sul momento senza bisogno di dover spostare pezzi di modello per evitare artefatti. 

Per questo progetto in particolare, oltre al set standard necessario per Substance Painter, ho anche esportato la Cavity Map– spiegherò perchè più avanti.

In quanto ho pensato questo personaggio come un asset Hero non mi sono dato un limite per i texture set, e ho finito per utilizzarne 6 sulla ragazza e 2 sugli accessori:

  • Capelli
  • Occhi
  • Testa
  • Parti del corpo (mani e addome)
  • Vestiti superiori
  • Vestiti inferiori
  • Borsa
  • Occhiali

 

Substance Painter

Sia la testa che le mani/addome utilizzano una variazione del materiale standard Human Skin, dettagliata ulteriormente con le normal map di texturing.xyz che sono incluse in Painter. Diversi livelli di variazione di colore sono state aggiunte su zone chiave del volto per rompere il colore di fondo, utilizzando i penneli Dirt 1 e Veins insieme alla mappa di grunge Spots per pitturare i dettagli e sovrapponendo diversi livelli dello stesso colore per aggiungere un effetto casuale.

L'hair cap è stato dipinto a mano con il pennello Fur, a cui è stato sovrapposto il grunge Fur 3 per aggiungere un pò di dettaglio (che è stato poi coperto dalla mesh dei capelli). Le sopracciglia e le zone sfumate dell'hair cap sono state dipinte a mano usando delle reference, l'occhio è una texture che ho realizzato per il mio progetto Cyberpunk Skater. Ho dato un tocco molto sottile di makeup per evocare un look natural.

In alcune zone le UV non erano perfette, ma ho cercato di coprire quanta più superficie possibile.

02152c2e79d728fe18ac899412fdfa30.jpg3e064033b558994cee3ce19dad206071.jpg


Ed è qui che ho usato la Cavity Map: è molto utile per aggiungere dettagli molto sottili come i pori della pelle, e può aiutare ad aggiungere profondità sulla superficie di un volto se il dettaglio non è abbastanza marcato nello sculpt originale. Solitamente la applico sui materiali Skin con una tonalità rosso scuro molto sottile e un pò di variazione di Height e Roughness per interrompere la continuità della superficie, aggiungendo ulteriori imperfezioni.


I materiali della felpa e delle scarpe sono materiali standard di Substance Source con alcune modifiche e dettagli manuali. Il materiale dei jeans è invece fatto da zero, utilizzando il materiale Fabric Denim per dargli una texture e sovrapponendovi sopra layer di colori diversi prima di approfondirlo aggiungendo variazioni. L'effetto wear-n-tear è stato creato sovrapponendo materiali diversi tramite Anchor Points. Ho dimenticato di aggiungere la pezza di cuoio sul retro durante lo sculpt, ma grazie a Substance aggiungerla sopra i dettagli già esistenti è stata una passeggiata.
Ho dato alla cintura e ai bottoni dello spazio extra sulle UV per catturare quanto il più possibile i dettagli originali.

61ba25f59e4a630c21bd955006ac24e4.jpg
a07d5d34c126d72c9c92105896c4d82f.jpg
3de2f680d1d79581d77a89deee9a92d7.jpg58f2cb3a5062a42826f55bd185e91f9e.jpg

5d96107c1f25c183cada451cf4c0315a.jpg

Lo stesso procedimento è stato utilizzato sulla borsa, tenendo gli strappi molto più sottili per dare l'impressione di un indumento "da battaglia" rovinato per l'utilizzo frequente invece di essere strappato di suo come i jeans.

Di fatto, i due materiali sono costruiti allo stesso modo, sovrapponendo colore su colore, dove la borsa è più scura e meno stinta rispetto ai pantaloni.

9e5bb1d3343b8b635c0afd1ee837f650.jpg





La presentazione


I render sono stati effettuati in Marmoset Toolbag.


Rig e posa


Di solito realizzo tutti i miei rig da solo. In questo caso, però, ho utilizzato l'autorigger di Mixamo e ripulito eventuali errori, dato che la silhouette del personaggio era molto semplice e non c'era bisogno di aggiungere joints oltre quelli di un umanoide standard. Inoltre, testare il modello tramite le animazioni presenti sul sito è un buon modo per mettere alla prova eventuali deformazioni.


Il mio obiettivo era dare un'impressione di dolcezza e sicurezza nello stesso momento, cercando però di mettere in mostra il lavoro svolto sul personaggio. Ho provato diverse pose ma non sono riuscito a sceglierne solo una, quindi ne ho scelte due – una con e una senza occhiali, la prima e la terza dell'immagine che segue.

8a729b4eecd3bac1382c9f6d77df6833.jpg


Lighting


Ho utilizzato due rim light separate per replicare il motivo presente sulla felpa e sulle scarpe, agganciandole alla telecamera in modo da averle sempre sullo sfondo. La luce principale è data da due Spotlight, con due Directional che aggiungono movimento e luce ambientale.

8f7d7ebb07c5ff013eccbb964de81532.jpg


L'HDR che ho utilizzato è il panorama Narita Plaza che è incluso in Marmoset, dà una buona variazione in colore e luminosità pur essendo abbastanza scura da non sovrasaturare i riflessi.



Trucchetti di rendering


Ecco un paio di cose interessanti che ho raccolto durante gli anni, che possono aiutarvi nella presentazione dei vostri modelli.


Gli occhi sono texturizzati con una specular molto bassa  - i riflessi sono dati da un modello separato che funge da cornea, ovvero lo stesso modello dell'occhio leggermente ridimensionato in Toolbag via Displacement. Tra i due si trova un modello separato per aggiungere un pò di ambient occlusion e di ombre sugli occhi, ed una terza mesh aggiunge quell'effetto bagnato dove la palpebra tocca la superficie dell'occhio (la cosiddetta 'wet line').

0ee028e2c0131d3c8fa5834c9418ee4c.jpg


L'effetto di pelo sul riccio è creato sovrapponendo "gusci" della stessa mesh sopra un modello base, scurendo man mano l'alpha del Cutout. In un engine da gioco questo potrebbe essere realizzato direttamente via shaders, ma dato che ho usato Toolbag per la mia presentazione ho dovuto improvvisare.

bda39dbbfdd9e2ded00424c9512b058a.jpg


I capelli hanno una Secondary Reflection ed uno shader Anisotropico. Un modo sicuro per evitare che i riflessi dei capelli siano strani senza essere costretti ad utilizzare una Flow Map è di allineare le texture nella stessa direzione quando si realizza la texture, per fare in modo che i riflessi anisotropici si muovano in modo correttamente sulle normali del modello.
Inoltre, invece del workflow Metalness ho utilizzato una Specular in modo da avere un controllo migliore sul colore e sull'intensità dei riflessi.

83c02073f01e25e30db65ac06567ec40.jpg



Note finali


Credo sia tutto. Spero di essere stato abbastana chiaro, se avete qualche dubbio o volete ringraziarmi inviatemi pure una mail o un messaggio su Artstation.

Vi abbandono con un turntable ed un link per vedere i render in alta risoluzione:

https://www.artstation.com/artwork/gJ9nne





A presto!

-Riccardo M.