lunedì 16 novembre 2015

TUTORIAL
IL VETRO SERIGRAFATO
Indigo 3.8.26 - SkIndigo 3.8.25.3

Il vetro sabbiato, nel linguaggio di Indigo Renderer, fa parte dei materiali traslucidi caratterizzati da una percentuale di rugosità superficiale che ne limita trasparenza e riflettività; dei materiali Glossy Transparent abbiamo già trattato in un precedente tutorial, analizzando i vari parametri di base usati per per ottenere un materiale omogeneamente sabbiato. Ma come posso riprodurre una superficie non omogeneamente sabbiata?

Vediamo di esplorare insieme i passaggi principali!

Innanzitutto, occorre sapere che qualunque materiale traslucido per essere calcolato in maniera fisicamente corretta deve essere applicato ad una geometria costituente un volume chiuso: questo perché il raggio incidente deve attraversare una superficie di ingresso ed una superficie d’uscita. E’ presto fatto il parallelo con la realtà fisica: non si è mai visto un foglio di vetro, no? Per quanto sottile, un vetro ha uno spessore, e la stessa cosa va riprodotta anche nella realtà virtuale.

Immagine 1
Ho riprodotto quindi un ipotetico pannello vetrato delle dimensioni di 2x2 metri e dello spessore di 2cm (un po’ grossetto, ma utile ai nostri scopi). Ho arricchito la scena con una teiera (AMATISSIMA primitiva di 3dMaxiana memoria, generabile con un bellissimo plugin - link in fondo al post), un cubotto dietro al pannello e una base solida. Per il momento i materiali applicati sono:
1.   Grigio diffuse per la base
2.   Bianco diffuse per teiera e cubotto
3. Shader Specular per il vetro, IOR 2, trasparenza SketchUp 10











Ora devo trovare il modo di comunicare a Indigo che una delle due facce (quella più vicina a noi) del pannello vetrato dovrà essere sabbiata, con una distribuzione non uniforme.
Per prima cosa creo un secondo materiale di SketchUp che descriverà le proprietà delle parti sabbiate. Basterà duplicare il materiale “vetro” creato in precedenza e assegnare al secondo vetro uno shader Glossy Transparent.












Applico al vetro sabbiato uno shader glossy ed estremizzo un po’ la percentuale di sabbiatura, in modo da renderla evidente, con il valore 20 nel campo exponent. Ricordate che i valori vanno da un minimo di 1 (nessuna riflettività) ad un massimo di 1.000.000 (massima riflettività).































A questo punto creo un nuovo materiale, che avrà il compito di comunicare la distribuzione delle parti sabbiate: ho scaricato da internet una immagine che rappresenta pois neri su campo bianco; questa mappa porterà a risultati di facile lettura una volta ultimato il render. Nomino il nuovo materiale “Blend_dots”, ed utilizzo la mappa a pois come mappa del colore. 

Semplice semplice. 

Al materiale però applico uno shader di tipo Blend: questo tipo di shader regola il comportamento di materiali che sono il risultato di una fusione di due o più sottomateriali. Al materiale A assegno dal menu a tendina il materiale di SketchUp “vetro standard”, e al Materiale B assegno il vetro sabbiato.




















Se eseguo il rendering della preview del materiale ottengo questo:























Nella porzione di preview che raffigura il riflesso del pannello luminoso, rilevo che attualmente i pois rappresentano le parti lucide, quando invece vorrei che fossero le parti di vetro sabbiato. Per correggere la cosa, basterà invertire la mappa a pois. Questa operazione può essere effettuata direttamente attraverso SkIndigo, come illustrato qui a lato.


















Otteniamo quindi: 























BENE! CI SIAMO QUASI!

Non ci resta che assegnare il materiale “Blend_dots” alla faccia del pannello di vetro che vogliamo “serigrafare”. Per la mappatura di questo materiale, utilizziamo come al solito i classici strumenti di mappatura di SketchUp. Otteniamo un risultato di questo tipo:















Renderizzando l'intera scena otterremo la seguente immagine























E’ possibile utilizzare una qualunque mappa per ottenere risultati adatti ai vostri scopi. Di seguito riporto alcuni di esempi realizzati con la medesima tecnica.
In tutte le immagini è possibile osservare una sottile colorazione azzurro-verde data dalla percentuale di assorbimento del colore del vetro (il parametro è controllato dallo slider dell'opacità del materiale di SketchUp: lo avevamo impostato a 10 ricordate? Ma non dimenticate che l'assorbimento varia a seconda dello spessore dell'oggetto cui è applicato!).

Inoltre, osserviamo che nelle zone della serigrafatura la teiera non viene riflessa. Ciò significa che la serigrafatura è risultato di un trattamento superficiale, che modifica la riflettività del materiale, come avviene a tutti gli effetti nella realtà fisica.















































Grazie per aver seguito questo tutorial!

Il plugin per generare la teiera parametricamente in SketchUp è una creazione del mitico ThomThom e lo trovate a questo link.

Se volete esplorare i parametri della scena, la metto a disposizione qui sotto.


A PRESTO!

8 commenti:

  1. Amazing tutorial, tried it today on my project and it came out very good - thank you!

    RispondiElimina
  2. Happy to read that! Can you show us the result? :)

    RispondiElimina
    Risposte
    1. Yeah for sure, going to let it render at higher quality first, where should I upload it?

      Elimina
    2. I guess you can use tinypic.com
      Just try any online image hoster and let us know!

      Elimina
  3. Hey, so i let it render overnight and here is the result of the sandblasted glass material. Good thing you uploaded the new tutorial yesterday on lighting because I used some of the techniques to make the image better (I hope) in photoshop!

    https://www.flickr.com/photos/136205804@N08/shares/tyDMh3

    Its just a test scene really, trying to get better at producing realistic images with indigo of course!

    RispondiElimina
  4. Very good! I suggest you take the same shot keeping the verticals straight (2 point perspective). You can achieve that using the plugin "camera parameters" setting the same z value for both the target and the pov position.
    Also, usually the frosting is applied only onto a single side of the glass: maybe you can try that out too, at the moment the material looks a little bit messy :)

    RispondiElimina
  5. Very good! I suggest you take the same shot keeping the verticals straight (2 point perspective). You can achieve that using the plugin "camera parameters" setting the same z value for both the target and the pov position.
    Also, usually the frosting is applied only onto a single side of the glass: maybe you can try that out too, at the moment the material looks a little bit messy :)

    RispondiElimina
  6. Thanks man, yeah the frosting I accidentally applied to all sides and didn't notice until hours after the render cleaned up! Anyway I done it again yesterday and also followed your suggestion about 2 point perceptive view and it looks much better! Check it out: https://flic.kr/p/CkWnCp :)

    RispondiElimina