<- Materiali E Shader, un pò di teoria - Prima parte parte

Nella prima parte eravamo rimasti alle caratteristiche principali del property editor di uno shader. Per aprire il property editor dello shader, e quindi editarlo, di un oggetto presente in scena basterà selezionare l'oggetto e nella toolbar render scegliere l'opzione Modify -> Shader oppure Modify -> Texture -> nome dello shader.
imm08
Un altro metodo sempre con l'oggetto selezionato ciccate sul tasto "selection" nella toolbar "select" e ciccate sull'icona dello shader (shaderIcon )
Imm09
Oppure dal render tree con il doppio clic sul nodo che volete editare
Imm10
Cliccando sulle icone di connessione dei parametri (quando sono rosse IcoConRed) potete passare velocemente ai property editor degli shader connessi.
Se al parametro lo shader è connesso attraverso un (o +) conversion shader (icona rossa con la lettera "C" gialla IcoConCgialla), cliccando sull'icona si va direttamente al property editor del prossimo shader non conversion connesso. Nel caso in cui è connesso solamente un conversion shader si passerà al suo property editor.
Per poter passare al property editor di un conversion shader cliccate con il tasto destro del mouse sull'icona di connessione con la "C" gialla e scegliete l'opzione edit conversion.
Quando il parametro e mixato con uno o + shader attraverso texture layer (blender with, icona con la lettera "L" azzurra" IcoConLazz), cliccando sull'icona di connessione si aprirà il menù come se fosse disconnesso; questo perché il property editor dei texture layer si trova già nella finestra corrente. Quando un parametro è connesso direttamente con altri shader (conversion e non) e mixato attraverso texture layer (icona con "C" gialla e "L" azzurra IcoConRedLazzCgialla o icona rossa con "L" azzurra IcoConRedLazz) cliccando sull'icona di conversione si passerà direttamente al property editor dello shader direttamente connesso.
Posizionandosi con il mouse su queste icone uscirà un tooltip con la lista degli shader connessi.
Scollegare uno shader: dal render tree selezionate lo shader e cancellatelo (canc) oppure con il tasto destro scegliete l'opzione disconnect (input/output/all), uno shader è rimovibile da qualsiasi view (render tree, schematic, explorer…)

Save/load shader preset: i preset sono file con memorizzati tutti i setting del property editor, è possibile caricare un preset o salvare i setting del property editor come preset. Come estensione hanno ".preset". i preset sono molto utili da usare, si possono modificare alcuni parametri per ottenere uno shader simile oppure si può salvare uno shader che verrà utilizzato per altre scene. Molti di questi shader pre-settati vengono installati con il sw e sono caricabili dal menù view -> toolbar -> shader. Oppure dall'icona con la cartella nel property editor, dove si può anche salvare uno shader.
Imm11
Quando create un preset (save) vengono salvati anche tutti i collegamenti. Per creare la thumbnail del preset salvato da visualizzare nel browser potete utilizzare il render region (premete q e con il tasto desto premuto tracciate la diagonale del riquadro da renderizzare in viewport) della porzione di scena in cui è presente l'oggetto a cui avete applicato, aprite il property editor dello shader, ciccate su save preset e nella finestra scegliete una cartella, date un nome allo shader e mettete la spunta a "use region as thumbnail". Se non c'è un render region attivo questa opzione è disabilitata. Una volta salvato un preset potete richiamarlo (load) quando volete e applicarlo a diversi oggetti, anche contemporaneamente con le selezioni multiple. Il preset viene caricato come una copia in modo tale che eventuali modifiche allo shader abbiano influenza solo sull'oggetto a cui è applicato. Per applicare un preset basta trascinarlo dal viewport sull'oggetto o nel render tree.

Render tree
Volevo proporvi un esempio presente nella guida cartacea sull'utilizzo di questo strumento per la costruzione di una rete di shader (materiale ceramico) perché lo trovo molto interessante, naturalmente si tratta solo di un accenno perché l'argomento andrebbe approfondito molto di + (e spero di farlo entro breve anche qui su treddi). Penso che oltre alla teoria sia molto utile osservare degli esempi, quindi vi consiglio di scaricare materiale da internet (scene intere quando è possibile) e analizzarle.
Per creare una rete di shader si connettono degli shader al materiale di un oggetto, con i quali si controllano i parametri dei vari shader e così via. Si inizia collegando al nodo surface uno shader di base che definisca l'ambient, il diffuse, lo specular e anche alcune caratteristiche di riflessione (come in questo caso).

Imm15
Dato che nella scena non ci sono altri oggetti che andrebbero a riflettersi sul nostro materiale ceramico connettiamo all'environment del materiale un environment map shader con un'immagine che andrà a creare delle "finte" riflessioni. (per rendere visibili le riflessioni assegnate al relativo color box un grigio molto scuro, quasi nero)

Imm16

Ora per definire l'ambient e il diffuse andremo a mixare 2 immagini

Imm17
Per definire la rugosità della superficie applichiamo un bumpmap generator con un'immagine (che definirà lo "spostamento") al canale bump del materiale

Imm18

Infine inseriamo un XSI ambient occlusion tra lo shader phong e il surface del materile. Il phong sarà connesso al bright color, mantre il dark color sarà settato sul nero.

Imm19

Naturalmente per ottenere un risultato + credibile e realistico bisognerebbe scegliere delle texture ad hoc e settare bene tutti i parametri dei vari shader che compongono la rete.

Pass shader
Quando uno shader è applicato a un oggetto viene denominato "local shader" (subnodi), quando è applicato a tutta la scena è chiamato "Pass shader" (collegato al render pass).
Output, volume, environment sono shader sia locali che globali. I pass shader sono elencati nel shader stack.
Imm12

In questa finestra si possono definire gli shader environment, volume e output, ad esempio applicando un fog shader alla scena apparirà nel Volume shader stack e verrà applicato nel pass di default. Per ogni render pass che creerete questo shader sarà incluso. È possibile aggiungere (add) + shader, toglierli (del) e modificarli (inspect). Con un render pass si crea una picture layer della scena da poter compositare in fase di post produzione o video editing, questo sistema è utile per poter isolare i singoli elementi che compongono una scena e controllare in maniera flessibile la loro incidenza. I pass della scena sono visualizzabili attraverso l'explorer oltre che dallo shader stack.

Imm13

Imm14

... A presto per la terza parte -> :)

---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui