• eng
  • deu
  • esp
  • fra
  • Blender: adicionar reflexos a apenas parte de um objeto
  • Tieniti aggiornato sulle novità del sito con un rss feed reader
  • Pagina Facebook Grafica e Programmazione
  • canale Youtube Grafica e Programmazione
  • Graphics and programming Twitter page

Blender: aggiungere riflessi a solo una parte di un oggetto

In questo tutorial vedremo come aggiungere un riflesso solo ad una parte di un oggetto/mesh in Blender, utilizzando i "View layer" nel Compositor. Per esempio (come ci era stato chiesto nei social) se vogliamo creare un palazzo con struttura in metallo, con un' HDRI che valorizzi le strutture metalliche e i vetri che riflettano un pannello raffigurante un cielo, non si desidera che il pannello con il cielo sia riflesso anche dalle strutture metalliche.
Per il tutorial creiamo un esempio semplificato, utilizzando un cubo: avviamo Blender, selezioniamo il cubo di default cliccandoci su, premiamo il tasto "TAB" per entrare in "Edit Mode". Selezioniamo tutto, premendo il tasto "A", e clicchiamo sul cubo con il tasto destro del mouse, scegliendo l'opzione "Subdivide"

quindi nella finestra in basso a sinistra scegliano un numero di tagli pari a 4

Deselezioniamo tutto premendo i tasti "Alt+A" e in modalità di selezione "Faccia"

selezioniamo le 4 "finestre" del "palazzo", estrudendole verso l'interno dopo aver premuto il tasto "E"

Nella scheda "Material Properties" creiamo per il cubo un semplice materiale di metallo "metal", composto dal solo shader "Principled BSDF" con "Roughness:0" e "Metallic:1"

Premendo il tasto "+" a destra

aggiungiamo un nuovo materiale "glass" per i vetri delle finestre

relativamente semplice, solo uno shader "Glass" e uno "Glossy" mixati secondo la modalità "facing" del nodo "Layer Weight", così se siamo di fronte vediamo la finestra come un vetro, mentre se la guardiamo obliquamente vediamo sempre di più il riflesso man mano che aumenta l'angolo di visualizzazione rispetto alla normale.

In "Edit Mode" selezioniamo le finestre e premiamo sul pulsante "Assign" per assegnare il materiale vetro alle finestre

(Si riesce ad ottenere una buona simulazione del materiale vetro quando la finestra ha un spessore, ma in questo esempio semplificato non è scopo fondamentale creare una scena realistica)
Nel sottopannello "Settings" del materiale "glass" assegnamo a "Pass Index:1" per identificare in seguito gli elementi a cui è stato assegnato quel materiale

Spostiamo la camera in modo da inquadrare bene il cubo

Nella scheda "World Properties" utilizziamo per l'illuminazione ambientale l'immagine HDR "uffizi_probe.hdr" (utile per "vivacizzare" i riflessi del metallo) scaricata dal sito https://www.pauldebevec.com/Probes/

Ci interessa solo quello che succede sul cubo, quindi per non farci distrarre dal resto della scena scegliamo uno sfondo trasparente: nella scheda "Render Properties" spuntiamo l'opzione "Transparent" nel sottopannello "Film"

Se premiamo il tasto "F12" per renderizzare otteniamo 

Aggiungiamo ora il riflesso di un cielo sulle finestre: scarichiamo la foto di un cielo azzurro da https://pixabay.com/photos/sun-sky-blue-sunlight-sunbeam-3588618/ ,
importiamo l'immagine con l'add-on "Images as Planes" (già presente in Blender ed attivo per default e presente in "File > Import") in un piano (che chiamiamo "sky plane"), che ruotiamo, ingrandiamo e posizioniamo davanti alle finestre in modo che sia riflesso da esse.

Il piano però nasconde parzialmente il cubo se cerchiamo di guardarlo con la camera

quindi per evitare che lo nasconda anche durante il rendering, selezioniamo il piano e nella scheda "Object Properties" togliamo la spunta a "Camera" nel sottopannello "Visibility > Ray Visibility" 

Premiamo "F12" per avviare il rendering e otteniamo il cubo con il riflesso del piano contenente la texture del cielo

Vogliamo ora separare questi due effetti (cubo con i riflessi solo dell'hdr del "world" e cubo che riflette il piano contenente l'immagine del cielo), rendendoli disponibili in due "view layer", degli strati che poi possiamo sommare e su cui possiamo compiere altre operazioni nel "Compositor".
Nella "Scene Collection" creiamo due collection "Collection metal" e "Collection sky". "Collection metal" rappresenta la scena con solo il cubo, senza il piano che viene riflesso, mentre "Collection sky" rappresenta la scena del cubo ("cube") che riflette il cielo, quindi contiene una copia del cubo e il piano ("sky plane"). La lampada e la camera sono esterne a queste due collezioni, poiché comuni ad entrambe le situazioni (anche il cubo sarebbe in comune, però abbiamo creato per semplicità dei "raggruppamenti logici").

Creiamo ora i due "View layer": 
rinominiamo il "View Layer" corrente in "view metal" e abilitiamo (visualizziamo) solo la collezione "Collection metal" 

creiamo quindi un nuovo "View layer" cliccando sul pulsantino a destra,

scegliendo l'opzione "Copy settings",

chiamandolo "view sky", dove nascondiamo "Collection metal" e visualizziamo "Collection sky"

Abilitiamo per questo "View layer", in "View Layer Properties", i "Passes" "Passes > Data > Indexes > Material Index", che serve per selezionare le parti di una mesh con un certo materiale, e "Passes > Light > Glossy > Indirect", per visualizzare i riflessi indiretti cioè gli oggetti specchiati, in questo caso il piano. (Si chiamano riflessi indiretti perché i raggi nel sistema Ray Tracing colpiscono prima l'oggetto, poi la superficie che li riflette per poi finire nella camera)

Accediamo al workspace "Compositing", cliccando sull'etichetta in alto,

e abilitiamo l'opzione "Uses Nodes"

Creiamo due nodi "Render Layers" ("Add > Input > Render Layers") che corrisponderanno ai due strati 

infatti su uno sceglieremo nel menu a tendina in basso il "View Layer" "view sky"

e automaticamente appariranno le porte "IndexMA" (corrispondere al "pass" "Material Index") e "GrossInd" (corrispondente al "pass" "Glossy > Indirect")

Nell'altro nodo "Render Layers" settiamo invece il "View layer" "view metal"

e il nodo presenta solo le porte di default.

Per avere una preview dei risultati intermedi delle operazioni nel "Compositor", controlliamo che sia attiva l'opzione di "Backdrop" in alto a destra

e aggiungiamo il nodo "Viewer" ("Add > Output > Viewer") per vedere l'anteprima.

Infatti se colleghiamo il nodo "Render Layers" corrispondente al layer "view sky" e avviamo il rendering, premendo il tasto funzione "F12", alla fine dei due rendering (corrispondenti ai due layer) appare

Generiamo ora una maschera che isoli le finestre: ci ricordiamo che avevamo dato al materiale "glass" "Pass Index:1", quindi aggiungiamo il nodo "ID Mask" ("Add > Converter > ID Mask") , che seleziona una maschera, utilizzando l'indice in ingresso "IndexMA" con il parametro "Index:1", che corrisponde al "Pass Index" con valore 1 del materiale delle finestre (spuntiamo l'opzione "Anti-Aliasing" per smussare i tratti obliqui). Colleghiamo l'uscita "Alpha" al nodo "Viewer" e visualizziamo la maschera che identifica le finestre

Ora possiamo seguire due strade: o prendiamo solo il riflesso del cielo e lo applichiamo alle finestre, senza tener conto dell'effetto dell'HDRI sulle finestre, oppure sulle finestre misceliamo l'effetto del riflesso del cielo con quello dell'HDRI 

 

Solo riflesso del cielo sulle finestre:

 

Utilizzando la maschera appena ottenuta, estraiamo l'immagine delle finestre aggiungendo un nodo "Mix" ("Add > Color > Mix"), con opzione "Mix" selezionata

Il nodo "Mix" conserva solo le parti dell'immagine "Image" che sono contrassegnate dalle parti bianche della maschera in ingresso in "Fac", per l'altra porta lasciamo un colore nero (neutro rispetto ai nodi "Mix").

Utilizzando un altro nodo "Mix", ora incolliamo questa immagine su quella generata solo dal layer "view metal", ottenendo così quanto cercato

(Il risultato di questo nodo "Mix" sarà l'immagine del "view metal" con sostituite solo le parti indicate dalla maschera proveniente dal nodo "ID Mask")

 

Riflesso del cielo sulle finestre miscelato con il riflesso dell'HDRI:

In questo caso non utilizziamo l'immagine finale del layer "view sky", che comprende contributi anche di altre fonti, ma solo i riflessi indiretti, che sono generati dagli oggetti che si specchiano sui vetri (in questo caso il piano con la texture del cielo), perciò utilizzeremo l'uscita della porta "GlossInd", invece che la più completa "Image". Per la miscelazione con il resto dell'edificio possiamo utilizzare ancora il nodo "Mix" ("Add > Color > Mix") per miscelare i due layer, ma è meglio scegliere un'opzione "Screen" che, anche utilizzando qualche nodo per aggiustare luminosità e colori ("Add > Color > Hue Saturation Value" e "Add > Color > Bright/Contrast"), simula meglio i riflessi di una finestra.
Dopo aver collegato questi nodi e aver riavviato il rendering, otteniamo

 

Esportare su file:

Se invece di utilizzare il "Compositor" in Blender vogliamo comporre tutto in un software di grafica 2D, possiamo utilizzare un nodo "File Output" ("Add > Output > File Output") per esportare le immagini e i riflessi

Per questo tutorial su come aggiungere un ulteriore riflesso a solo una parte di un oggetto in Blender è tutto. Happy blending!

Se ti è piaciuto l'articolo condividilo con un amico:

Articoli correlati:

Blender modificare intensità e colore ombra con il Compositor

In questo tutorial per Blender (aggiornato alla versione 2.9) vediamo come cambiare il colore e come scurire/schiarire l'ombra di un ...

Leggi l'articolo >

 

Vai alla lista dei tutorials: > Blender <