Come promesso dopo gli shader passo alle texture... anche questo è un argomento molto vasto e complesso, spero di riuscire a completare il tutto in breve tempo ^_^ intanto parto con una panoramica abbastanza generale...

TEXTURING
Per ottenere dei risultati realistici, oltre all'applicazione di material e shader, è necessario utilizzare delle texture che vanno a influire su ogni aspetto dell'oggetto da renderizzare (bump, reflection,trasparency…).
Le surface property di un oggetto geometrico definiscono la sua "apparenza" e sono determinate da una proiezione della texture e dalle texture applicate alla geometria. XSI permette l'utilizzo di 2 tipi di texture:
  • Image texture: file immagine applicate (o avvolte attorno) alla superficie dell'oggetto. Sono supportati tutti i tipi di file RGBA o RGB (pic, gif, tiff, psd…), delle .TIFF non è supportata da Mental Ray la compressione LWZ
  • Procedural texture: calcolate matematicamente secondo specifici algoritmi e solitamente simulano materiali "naturali" (legno, roccia, marmo…) e pattern, nella library di XSI sono presenti texture procedurali 3D e 2D. Le 2D vengono applicate come tutte le texture sulle superfici, mentre le 3D sono applicate al volume e possono ricreare delle strutture interne come potrebbero essere gli anelli del tronco di un albero.
Ogni volta che selezionate un'immagine da usare come texture viene creato un file "image source" e "un'istanza" dell'immagine chiamata "image clip". Da un unico "source file" possono essere create diverse image clip che potete modificare singolarmente. Ad esempio se state usando la stessa immagine (source) sia per il surface che per il bump, potrete applicare un blur all'immagine che state usando x il bump senza andare a modificare quella per il surface poiché sono 2 image clip differenti.
Ogni volta che applicate una texture verranno create le "texture projection" e le "texture supports".
text01

Una volta applicata la Texture projection verrà visualizzato nelle 3d views il cosiddetto "texture support" (wireframe verde scuro)
text02

Il projection e il support permetono il controllo preciso della pipeline del 2d texturing, il texture support controlla come una texture 2d viene applicata all'oggetto 3d mentre il projection annota dove la texture deve apparire sull'oggetto. A un singolo support possono corrispondere + projection.

Texture maps

Combinano le proprietà delle texture image e texture projection, sono usate nel "particle" e nel "hair simulation" applicate ai parametri mappabili (controllare l'emissione di particelle, colore dei capelli…) al posto di utilizzare un singolo valore. Di regola le texture map comunque non vengono usate per il texturing.
text03

Coordinate UV
Applicando un texture projecton a un oggetto si crea un set di coordinate (chiamate UV coordinates o semplicemente UVs) che controllano dove la texture corrisponderà alla superficie dell'oggetto.
Potete visualizzare e modificare le UVs attraverso il "Texture editor" dove sono rappresentate come "sample point", selezionandoli potete effettivamente selezionare le coordinate UV corrispondenti sul'oggetto

Texture operator
Quando create un texture projection su un oggetto verrà creato un "texture operator" che controlla dove il projection "va a leggere" nell'operator stack dell'oggetto. Ciò determina come appare la texture sulla superficie dell'oggetto, specialmente se l'oggetto viene deformato.
Nell'explorer il texture operator si trova sotto il nodo texture projection dell'oggetto (e non nell'operator stack dell'oggetto), posizionando la freccia del mouse sopra apparirà un tooltip con scritto dove il texture operator sarà letto nel "main operator stack". Potreste riposizionare il texture operator all'interno dell'operator stack per modificare la disposizione della texture nel momento in cui l'oggetto è deformato.
text04

Lavorare con texture shader e surface shader
Texture e surface shader combinati insieme definiscono solitamente l'apparenza dell'oggetto, i surface shader definiscono in particolare il colore base, la trasparenza, la rifrazione, la riflessione…
La texture applica un'immagine (o una texture procedurale) sulla superficie e non sostituisce il surface shader, ma è combinato a questo per aumentarne l'effetto.
Nell'esempio seguente la texture è applicata all'ambient e al diffuse del surface shader, i valori relativi allo specular sono settati nel property editor dello shader e non sono influenzati da texture.
In teoria potreste collegare la texture anche direttamente al surface input del material, ma in questo caso avreste meno controlli.
I texture e i surface shader hanno un output di tipo color che può interagire facilmente con la superficie dell'oggetto, nella maggior parte dei casi una texture è collegata all'ambient e al diffuse di un surface shader.
text05

Questo è anche il metodo "+ semplice" di utilizzare una texture.
Il metodo + facile per applicare una texture a un oggetto è usare il menù get -> texture menù nella toolbar Render. Questo comando applica in automatico un material, un surface shader e la texture scelta all'oggetto/i selezionato/i. In fondo al menù potete scegliere a quali input dello shader applicare la texture (ambient, diffuse, reflection, trasparency).
È possibile applicare texture per layer (texture layering), con questo processo si possono mixare + texture (una dopo l'altra) con un risultato "cumulativo" per costruire effetti complessi.
Per applicare una texture si può utilizzare anche il property editor dello shader cliccando con il tasto destro sulla connection icon corrispondente al parametro a cui si vuole applicare una delle texture presenti nel menù (con "more…" si accede al browser).
text06

Se la connection icon è rossa (o a delle piccole lettere <- a questo proposito vi consiglio la lettura dei tutorial sugli shader) c'è già uno shader collegato, scegliendo dal menù un nuovo shader sarà sostituito.
Un terzo metodo per applicare delle texture è il Render tree (premete il tasto "7") richiamando i vari shader dal menù nodes (o trascinandoli dalla shader toolbar – Menù View -> Toolbar -> Shader) e collegandoli assieme per costruire una struttura ad albero
text07
È possibile applicare una texture a un gruppo di poligoni, una volta selezionati i poligoni dal menù Get -> material assegnate un nuovo surface shader e dal menù Get -> texture una nuova texture.
text08

Per accedere ai Local Material si passa dall'explorer sotto il nodo "polygon Mesh -> Cluster -> Polygon".
text09

Per aggiungere delle texture a quella già applicata potete usare il menù "Modify -> Texture -> Add" dalla render toolbar, verrà aggiunto un nuovo texture layer e le texture verranno mescolate assieme (nel render tree le connection icon saranno contrassegnate da una "L" azzurra). Per ogni texture assegnate, quando necessario, potrete assegnare diversi metodi di proiezione.
text10

Ogni texture assegnata a un oggetto (o gruppo, o gerarchia) ha una serie di parametri per definire la posizione e la modalità di ripetizione.
La maggior parte delle texture possono essere ripetute (tiling), in maniera simmetrica o no, per creare un pattern, se la texture è "tilibile" non noterete le giunture su i bordi delle ripetizioni. Queste opzioni le trovate nel tab "advanced".
text11

Lavorando con texture 3D il tiling non sarà visibile in viewport (utilizzate il render region), ma potrete settare il tiling anche nell'asse Z.
Con l'opzione "texture repeats" potete definire quante volte ripetere la texture (nei 3 assi), ad esempio nell'immagine precedente è il repeat è stato settato a 3.
Nella toolbar render dal menù "Modify –> texture" è possibile accedere velocemente a tutte le texture applicate.
Dal property editor del texture shader è possibile salvare (o caricare) una texture e i suoi parametri come preset da riutilizzare in altri casi, attraverso i tasti Load/save in alto a destra.

Mixer shader
Per mixare 2 (o +) texture potete utilizzare un mixer shader (mixa anche colori, shader e immagini) assegnando a ogni texture il proprio peso e il metodo di mix. I Mixer shader possono essere usati in alternativa al "layer texturing"; a differenza di questo, che mixa le texture con i parametri dello shader, i mixer shader utilizzano il risultato del mix per settare il parametro.
I mixer shader sono meno flessibili dei layer, infatti con un solo comando potete spostare i vari layer mentre utilizzando un mixer shader per modificare l'ordine dovrete rifare i collegamenti.
Quando a un parametro viene assegnato un mixer shader potete controllare il weight dal color box e scegliere il metodo di miscela.
text12

Per comprendere come funzionano i vari metodi vi consiglio di mixare un'immagine e un gradient lineare dal bianco al nero.

Gradient shader

Con i gradient shader si possono creare numerosi effetti interessanti applicandoli ai parametri di altri shader, oltre che usarli come texture su una superficie. Ad esempio spesso vengono utilizzati per mixare 2 texture (gradient mixer shader).
text13

Il gradient mixer shader accetta uno scalar o vector input per controllare il tipo di gradiente, ad esempio in base alla distanza, alle coordinate vettoriali o come in questo caso in base all'incidenza.
text14
Texturing, seconda 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