In questo tutorial vi descrivo lo schema di nodi che ho realizzato per ottenere un rendering NPR, ossia non fotorealistico, a partire da un modello 3D con materiale e textures PBR, utilizzando in particolare il modello 3D di un circuito elettronico, così da ottenere un rendering simile ad alcune illustrazioni di riviste di elettronica che leggevo parecchi anni fa.



Trascrizione del video

Salve a tutti! In questo tutorial vi descrivo lo schema di nodi che ho realizzato per ottenere un rendering NPR, ossia non fotorealistico, a partire da un modello 3D con materiale e textures PBR, utilizzando in particolare il modello 3D di un circuito elettronico, così da ottenere un rendering simile ad alcune illustrazioni di riviste di elettronica che leggevo parecchi anni fa.

Vi mostro subito la differenza tra il rendering ottenuto importando il modello 3D, già provvisto delle sue Textures PBR collegate ad un nodo Principled, e il rendering non fotorealistico, che fa uso della sola Texture del Base Color e di un nodo Principled configurato in maniera opportuna.

Il tutorial è stato realizzato in Blender 4.1 e il motore di rendering utilizzato è Cycles.

La scaletta del tutorial è la seguente:

disattiveremo l'illuminazione presente nella scena;

faremo una prima modifica agli input del nodo Principled di default;

disattiveremo alcune opzioni di Ray Visibility per eliminare Color Bleeding e altri effetti di ombreggiatura indesiderati;

attiveremo Freestyle per fornire un contorno alle geometrie in post-produzione;

infine, modificheremo di nuovo gli input del nodo Principled per realizzare una semplice ombreggiatura basata sull'orientamento delle facce degli oggetti rispetto alla telecamera, così da rendere meno monotono l'aspetto delle geometrie.

La prima cosa da fare è disattivare l'illuminazione della scena.

Il rendering PBR iniziale è stato realizzato con una Texture HDR su World Background e una fonte di luce Sun, ma in questo caso sarà l'oggetto stesso ad essere un emettitore luminoso, così da fornire un'ombreggiatura uniforme a tutte le parti dell'oggetto.

Eliminiamo quindi le fonti di luce presenti nella scena e portiamo a 0 l'intensità dell'illuminazione World.

In un'anteprima Rendered della vista 3D non vedremo nulla, proprio perché non c'è alcuna fonte di illuminazione nella scena.

Modifichiamo quindi i collegamenti del nodo Principled. Ci interessa ottenere un'illuminazione uniforme degli oggetti, mantenendo colori e scritte presenti nella Texture Albedo.

Scolleghiamo quindi la Texture Albedo o Base Color dall'ingresso Color del nodo Principled e colleghiamola all'ingresso Emission, dove potremo lasciare a 1 l'intensità dell'emissione luminosa.

Le Textures Metallic e Normal non ci interessano, per cui possiamo eliminarle.

Eliminiamo anche la Texture Roughness e impostiamo 1 come valore uniforme per questo parametro nel nodo Principled.

Queste operazioni vanno effettuate per tutti i Materials presenti nella scena, che in questo caso sono 2: quello del circuito stampato e quello dei componenti elettronici.

In un'anteprima Rendered della vista 3D vedremo ora tutti gli elementi ben visibili con un'illuminazione piatta, tuttavia in questo momento l'illuminazione è fin troppo uniforme, inoltre sono presenti dei riflessi colorati sugli oggetti vicini e non sono presenti i contorni di Freestyle. Risolviamo questi problemi uno per uno, iniziando dal Color Bleeding.

Apriamo una scheda Object nell'editor Properties per uno degli oggetti presenti nella scena e accediamo alla sezione Visibility.

In questa sezione, disattiviamo tutte le opzioni presenti nella scheda Ray Visibility, fatta eccezione per l'opzione Camera.

Anche questa operazione va effettuata per tutti i Materials presenti nel progetto.

In questo modo, gli unici raggi luminosi presenti nella scena sono quelli emessi dalle superfici e diretti verso la telecamera, per cui non avremo più i fastidiosi effetti di Color Bleeding visibili fino a pochi istanti fa.

Nell'anteprima Rendered della 3D Viewport abbiamo un risultato che già di per sé è interessante, ma che può essere migliorato con l'aggiunta di qualche linea per mettere in evidenza i contorni degli oggetti.

Il modulo Freestyle fa al caso nostro. Possiamo attivarlo nell'apposita sezione della scheda Render, all'interno di un editor Properties. In questa scheda potremo anche impostare la modalità di implementazione dello spessore delle linee e, nel caso della modalità assoluta, lo spessore di tali linee, in pixel.

Nella scheda View Layers sarà ora disponibile una sezione Freestyle nella quale potremo impostare moltissimi altri parametri, ma non mi metterò ad esaminarli adesso. Il rendering che vi ho mostrato all'inizio del tutorial è stato realizzato semplicemente attivando Freestyle e lasciando le impostazioni di default.

Ad ogni modo, Freestyle viene applicato al rendering finito, per cui i suoi effetti non sono visibili nell'anteprima Rendered di una 3D Viewport. Avviamo quindi un primo rendering per osservare il risultato ottenuto fino a questo punto.

Per ottenere un'ombreggiatura basata sull'orientamento delle facce degli oggetti rispetto alla telecamera, farò uso del nodo Layer Weight in modalità Facing come fattore di miscelazione tra due diverse versioni della Texture Base Color.

Prima di implementare lo schema di nodi finale, vi mostro l'effetto del nodo Layer Weight Facing in maniera isolata, facendo uso di un paio di nodi Emission con colori molto diversi, collegati ad un nodo Mix Shader e utilizzando proprio Layer Weight Facing come fattore di miscelazione.

Attenzione a collegare l'uscita Facing del nodo Layer Weight, e non l'uscita Fresnel, all'ingresso Factor del nodo Mix Shader.

Come potete vedere, modificando il valore di Blend possiamo utilizzare degli ombreggiatori diversi a seconda dell'orientamento delle facce rispetto alla telecamera.

La transizione tra i due ombreggiatori è però poco definita. Per ottenere un passaggio più brusco, inseriamo un nodo Math in modalità Greater Than tra Facing e Factor.

Il secondo parametro del nodo Math farà quindi da valore soglia per determinare il passaggio da uno Shader ad un altro.

Per ottenere lo stesso valore sia per il parametro Blend del nodo Layer Weight che per il secondo ingresso Value del nodo Greather Than, inseriamo un nodo di tipo Value del gruppo Input nello schema e colleghiamolo a quei due ingressi.

Modificando questo valore, anche con variazioni davvero piccole, potremo ottenere un buon fattore di miscelazione per aggiungere un'ombreggiatura senza sfumatura alle facce degli oggetti.

Utilizzeremo questo fattore di miscelazione per ottenere una versione leggermente più scura della Texture Albedo in base all'orientamento delle facce degli oggetti.

Togliamo quindi i due nodi Emission e il nodo Mix Shader dallo schema, collegando nuovamente Principled a Material Output.

Per ottenere una versione più scura della Texture Albedo, colleghiamo l'uscita Color della Texture Base Color ad un nodo Brightness Contrast, impostando Brightness a -0.2.

Inseriamo anche un nodo Color Mix, collegandogli come immagini in input l'uscita Color della Texture Albedo e l'uscita del nodo Brightness Contrast.

Colleghiamo l'uscita del nodo Greater Than all'ingresso Factor del nodo Color Mix appena inserito nello schema.

Per finire, colleghiamo l'uscita del nodo Color Mix all'ingresso Emission Color del nodo Principled.

Questo schema va replicato per tutti i Materiali presenti nella scena. Ad ogni modo, l'anteprima visibile in una 3D Viewport in modalità Rendered non è ancora quella finale, perché lì non è presente l'effetto Freestyle.

Avviamo quindi un rendering per osservare il vero risultato finale.

La nuova ombreggiatura ha comunque dei lati positivi e dei lati negativi.

Il lato positivo è che, anche grazie a Freestyle, gli oggetti non sono più troppo piatti, per cui è più facile indovinarne i volumi.

Il lato negativo è che questa ombreggiatura cambia molto in base all'orientamento degli oggetti rispetto alla telecamera, per cui potrebbe essere necessario impiegare un po' di tempo per modificare il valore del nodo Value o l'orientamento degli oggetti.

Va detto anche che il nodo Greater Than, implementato qui come nodo di soglia per separare in maniera netta il colore in base all'orientamento delle facce, potrebbe produrre un risultato poco gradevole nelle animazioni. Considerate, in questo caso, la possibilità di togliere Greater Than, ottenendo così delle transizioni meno nette.

Bene, anche per questo tutorial è tutto! Spero vi sia stato utile! A presto!

Cerca nei Tutorial

Cerca inserendo una frase o più parole chiave, separate da virgole.

Modelli 3D, tutorial e risorse di computer grafica di Francesco Milanese. Le licenze d’uso dei modelli 3D sono acquistabili tramite gli store esterni indicati nelle rispettive pagine, secondo le condizioni di licenza applicabili. Francesco Milanese — Partita IVA: 06321250877. Contatti: info@francescomilanese.com


INFORMATIVA ESTESA SULL'UTILIZZO DEI COOKIES