PDA

Visualizza Versione Completa : Normal Map...It's Crazy!!!



Lorenz
23-07-08, 10:26
Ragazzi Buongiorno,
ho iniziato a scoprire il fantastico mondo delle Normal Map e subito subito mi sono imbattuto in un problema insormontabile. Facendo tutto come da "copione", cioè come da tutorial sparsi nella rete, noto che la normal map applicata non ha nessun effetto!! La superficie non risulta affatto tridimensionale...ho impostato la mappa dei mattoni sul canale Color, diffuse, specularity e sugli shaders ho impostato normal map shader ed ho caricato la normal map che mi sono fatto partendo da una textures con un programmino "crazy bump". Risultato ottenuto, come se nn ci fosse.....:confused:
ho allegato i rend di prova che ho fatto...
Help me!

gebazzz
23-07-08, 11:09
La NormalMap in sè contiene informazioni di deformazioni delle normali, un po' come un Bump più avanzato. Se messo nelle proprietà delle superfici, esso NON rende tridimensionale un piano, ma piuttosto da l'impressione che questo abbia più dettagli, sempre come il Bump. Questa impressione è data unicamente dall'interazione della superficie con la luce, quindi prova a mettere una Point Light vicino alla superficie, con un po' di Specularity per aumentarne l'effetto, e riprova.
Si può in alternativa usare la NormalMap per guidare la deformazione di un oggetto geometrico suddiviso tramite SubPatch, ma questo è un altro discorso.
Precisamente cosa ti aspetti di ottenere?

vashts

davhub
23-07-08, 11:10
Ciao Lorenz... la Normal map non è una mappa da applicare al texturing, bensì all'oggetto in sè perchè, al contrario del bump, che SIMULA le discrepanze, il normal mapping CREA le elevazioni.

quindi, oggetto selezionato; tasto p; nel tab Deform scegli i deomratori in basso, e vai di normal displacement...
qui ti ritrovi una finestra con un bel bottone T. dentro trovi il classico canale di texturizzazione.
fuori, invece, setti i valori di altezza massima del displace ecc.

tieni conto di due cose (gli altri smentiscano se dico castronerie)

1) il normal lavora molto bene con il subpatch attivo e livelli di suddivsione del tipo: 6 e più.
2) il normal map di LW prende il nero come base ed eleva tutto il resto. Quindi.. occhio ad eventuali incongruenze geometriche.

c'è una plugin che si utilizzava con Zbrush che serve ad avre deformazioni in alto ed in basso prendendo il valore di grigio intermedio come base, ma non mi sovviene il nome.., cercala su flay..

Sero di esserti stato d'aiuto

Davhub

gebazzz
23-07-08, 11:24
Ciao Lorenz... la Normal map non è una mappa da applicare al texturing, bensì all'oggetto in sè perchè, al contrario del bump, che SIMULA le discrepanze, il normal mapping CREA le elevazioni.
Proprio no. E' quello che dice il nome, una mappa di normali, che usa lo spazio RGB per stabilire dei vettori per ogni pixel; che poi questi vettori siano usati per perturbare le normali in fase di shading o per guidare la disposizione dei poligoni in fase di displacement, sono due usi diversi della mappa.

vashts

Lorenz
23-07-08, 11:29
Grazie ragazzi,
in effetti non avevo mai considerato la normal map come giustamente mi facave notare davhub....ho provato ma ancora nn riesco ad avere l'effetto....credo che la mia normal map nn vada bene.....cerco di trovarne altre on line e riprovo....
per vashts: l'effetto che voglio ottenere è quello di una parete in mattoni "reale" nel senso che tra i mattoni e la fuga ci deve essere una differenza di piano, quindi, inquadrando la parete lateralmente, devo vedere e percepire la "matericità" del muro con i mattoni in aggetto rispetto alla malta, e nel caso di mattoni rovinati, avere le superfici dei mattoni deformati.
That's all!

Lorenz
23-07-08, 11:36
altra prova con texture per pavimentazione in pietra....come vedete, la pavimentazione risulta completamente piatta, cioè tra un pezzo di petra e l'altra non si percepisce il "vuoto" e quindi non si riesce ad apprezzare la pietra che dovrebbe avere una sua importanza....è molto piatta.....

davhub
23-07-08, 13:24
Proprio no. E' quello che dice il nome, una mappa di normali, che usa lo spazio RGB per stabilire dei vettori per ogni pixel; che poi questi vettori siano usati per perturbare le normali in fase di shading o per guidare la disposizione dei poligoni in fase di displacement, sono due usi diversi della mappa.

vashts

Ok, Vashts, per precisione è quello che dici e tu sei sempre molto preciso :D.
in effetti quanto uno dice normal mapping per creare elevazioni reali in effetti parla di normal mapping e displacement che sono giustamente cose differenti. io ci sono andato con l'accetta ma il concetto era chiaro tant'è che lorenz l'ha utilizzato.. ed è il motivo per cui esistono due modi di fare displace in LW... (vedi sotto)

Caro lorenz.. non ti crucciare.. nel senso che il normal mapping+displacement anche a me a volte non produce alcun risultato e non ho mai capito perchè.

cosa stai utilizzando, la T di displacement map nel tab deform oppure il normal displacement negli effetti sottostanti e attivabili da menu a tendina?

e poi.. COME applichi la mappa di displace? tramite UV? sei sicuro che gli assi di proiezione (nel caso di non utilizzo delle UV) siano corretti?

Davhub

Lorenz
23-07-08, 13:39
cosa stai utilizzando, la T di displacement map nel tab deform oppure il normal displacement negli effetti sottostanti e attivabili da menu a tendina?

Le ho provate entrambe......ma senza risultato.....

e poi.. COME applichi la mappa di displace? tramite UV? sei sicuro che gli assi di proiezione (nel caso di non utilizzo delle UV) siano corretti?

Rispetto a questa questione non sto usando una UV, ma semplicemente una mappatura cubic per le texture....dal momento che è solo un prova per testare la reale efficienza delle normal map nn ho fatto UV...pensi potrebbe influire? Gli assi sono corretti....

Lorenz
23-07-08, 14:11
per spiegarmi meglio posto un'immagine fatta poco tempo fa in cui si vede un muro in cortina bianca...nella realtà quel muro deve essere rivestito con dei pannelli di resina in finto muro e poi dipinto di bianco...la normal map sarebbe stata utile per far "sentire" di più il tile della cortina....che ne dite?

g4dual
23-07-08, 14:29
Lightwave, purtroppo, non ha ancora una tecnologia che permette la deformazione fisica di un singolo poligono sfruttando una mappa di displacement, come invece hanno altri (forse solo uno) programmi. Per poter funzionare, la geometria sulla quale vuoi applicare tale mappa, deve essere suddivisa in poligoni più piccoli, più poligoni ci sono e meglio funziona la mappa di displace. E' questo il motivo per cui ti è stato consigliato di utilizzare il subpach con un alto grado di suddivisione ... anche se, devo ammetterlo, in architettura non è proprio un compito agevole suddividere la geometria in modo così massivo

Tempesta
24-07-08, 13:39
Ciao ragazzi

bump map : mappa a toni di grigio che definisce una elevazione solo apparente della superficie creando luce e ombra sulla superficie come se ci fosse un leggero basso rilievo, lavora su un solo asse quindi limitato nell'effetto su mappe complesse

normal map : mappe a 3 colori che definiscono la TEORICA elevazione come la bump map, ma ha il vantaggio che definisce la forma del rilievo e dell'oggetto su 3 assi, per cui il risultato risulta molto più realistico, perchè la luce colpendo la superficie non rimbalza in una sola direzione ma in più direzioni. questa mappa inoltre fornisce informazioni di curvatura della superficie, per cui se l'oggetto originale da cui si ricava la normal map, ha un dettaglio e una conformazione particolare, la normal map applicata ad un modello con basso numero di poligoni, rispecchierà maggiormente il risultato, PUR NON ALTERANDO LA GEOMETRIA

displacement map : mappa a toni di grigio da 8 a 32bit, che definisce LO SPOSTAMENTO REALE DEI PUNTI, e quindi crea una deformazione reale del modello, questa mappa, unita alla funzione APS di lw, permette la realizzazione di modelli ad alto livello di dettaglio 3D, con un consumo tutto sommato gestibile della memoria.

relief map : una combinazione tra la normal e la displacement map, lavora in postproduzione, per cui non verrà riflessa e nelle ombre non si vedranno le distorsioni, ma produce l'effetto della displacement map con un effetto di postproduzione (disponibile come nodo del mitico Denis Potonnier)

suggerimento spassionato, il risultato più efficiente lo avete usando una displacement map su un modello con suddivisione media per deformare la mesh dove serve per i dettagli a bassa frequenza (quelli più grossolani ed evidenti) e una normal map o una relief map per i dettagli ad alta frequenza (quelli più fini e piccoli)

questo perchè un dettaglio tipo una vena in leggero rilievo su di un braccio, o un poco di muschio su un muretto non sarà percettibile in modo forte se lo fate come displacement o come normal map, ma i tempi di calcolo, la memoria necessaria per creare qualche milione di poligoni in più si.