Vai al contenuto
44 gatti

Artefatti Normal Map

Recommended Posts

Oggi ho creato la normal map di un oggetto piuttosto semplice. Tutto ha funzionato correttamente anche per le zone più "insidiose" a parte il fatto che appaiono dei piccoli ma evidenti artefatti causati dalla normal map sulle parti più semplici e regolari dell'oggetto, come ad esempio lungo delle linee rette.

Questi difetti appaiono evidenti anche importando la normal map in Photoshop, sono come dei piccolissimi gruppi di pixels leggermente diversi dal colore circostante.

post-93214-0-64724800-1419552122_thumb.j

Sono stato attento a seguire tutti gli accorgimenti necessari, ovvero:

_Non ho assegnato smoothing groups agli oggetti

_Nelle opzioni del "Render to texture" ho abilitato lo scanline per selezionare il Supersampling e l'opzione Max 2,5 star, e poi ho riabilitato Mental Ray per il rendering finale

_ Sono stato attento che il cage non toccasse dei poligoni

_Ho provato a renderizzare la normal map con diverse risoluzioni

Chi mi sa dire da cosa dipende il problema?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Si lo sò che con photoshop si corregge facilmente il problema, ma io volevo capire perchè venissero fuori questi pixel "anomali" e correggere il problema alla base...non voglio ritrovarmi a colorare manualmente i pixel di ogni normal map che creo.

.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Ospite

si ti capisco, se ha fatto tutti i procedimenti giusti, l'unica cosa che mi viene in mente è una possibile compressione del file immagine o risoluzione che ha rovinato la nitidezza dei pixel. hai provato a salvarla in un altro formato o dimensione durante il rendering ?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Come formato ho sempre utilizzato il TGA, ovvero quello di default, mentre avevo pensato anchio alla risoluzione ma facendo prove a risoluzioni diverse il problema rimane.

Si la normal l'ho creata con render to texture di 3d max, ma escludo un problema alle normali perchè ho provato a ricreare da zero la geometria ma il problema si ripresenta.

Praticamente voglio realizzare una cornice di un quadro tramite normal map. Per capire da cosa possa dipendere il problema ieri ho fatto cosi: Ho creato un semplicissimo box che rappresenta il modello LOW poly,e dopo ne ho fatto una copia che utilizzero come modello HIGH. Ho preso il modello HIGH e tramite inset e chamfer ho creato una semplice bordatura interna in rilievo formata da molti poligoni, ho fatto il baking e la normal map ottenuta era OK.

Quindi ho ripreso il modello High poly e con lo stesso procedimento ho creato un ulteriore bordatura interna, ho fatto di nuovo il baking e la nuova normal map era perfetta.

Ho quindi ripetuto nuovamente il procedimento ma questa volta la normal map presentava quei pixels difettosi in vari punti della mappa, eppure avevo utilizzato gli stessi identici procedimenti di prima.

La cosa è starana. Potrebbe dipendere dal sampling dell'immagine? io però in tutti i tutorial che ho visto ocnsigliavano di abilitare lo scanline render e il metodo di samplig Max 2.5 star, e cosi ho fatto.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Da come la racconti,nei diversi passaggi di modellazione hai cannato qualcosa. Riparti da zero, rifai il modello highpoly dall'inizio e riprova con il render to texture

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Come ho scritto in precedenza avevo già provato a rifare il modello da zero creando la normal map ad ogni nuovo dettaglio aggiunto per capire quale fosse il problema....comunque ci proverò nuovamente ed eventualmente, se dovessi avere ancora problem, posterò delle immagini in modo che anche voi possiate capire meglio

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Mi sà che aveva ragione mak21, il problema forse dipende dalla risoluzione. :mellow:

Come già accennato nei post precedenti, avevo fatto varie prove con tutte le risoluzioni disponibili di default nel render to to texture, da 512x512 a 2048x2048 ma gli artefatti erano visibili anche a 2048x2048.

Stamani ho provato a raddoppiare (manualmente) la risoluzione massima e finalmente gli artefatti sono spariti e la normal map e è bella pulita...soltanto che adesso il file della normal map è un imamgine di oltre 4000 pixel per ogni lato e pesante 22MB.

Vi spiego inoltre una cosa che probabilmente avevo sottovalutato: l'oggetto su cui è applicata la normal map si trova in una specie di capannone molto grande il cui lato più lungo misura 32 metri.

Siccome sò che nei programmi di modellazione 3d, sopratutto per quanto riguarda le luci fotometriche, le dimensioni degli oggetti devono essere realistiche, ho impostato l'unità di misura in metri ed ho quindi modellato in scala reale.

Non sò se questo possa avere a che fare con il problema degli artefatti, ma vedendo la risoluzione gigante che devo utilizzare per una normal map comincio a pensare che un nesso ci sia :unsure:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Ospite

fallo come hai già provato a 4000 x 4000 e poi riduci il file in Photoshop alla risoluzione più bassa che preferisci.

non credo che l'unità di scala ti possa dare problemi. è giusto lavorare così per le scene realistiche in mental ray.

è anche vero che le normal map sono nate per i video game, puoi fare una prova con una scena in unità generiche e unità di sistema in inch, che sono le unità di sistema preferite da 3ds max.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

al momento non sono riuscito ad ottenere una riprova facendo l'esperimento che hai consigliato.

Ma realmente esiste una connessione tra l'unità di misura utilizzata e la risoluzione delle normal map? e quindi chiunque, quando lavora su grandi progetti, deve fare il procedimento di renderizzare a grandi risoluzioni e poi rimpicciolire con photoshop?


Modificato da 44 gatti

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

La connessione esiste in quanto una texture più è grande in pixel, maggiore risulta la sua nitidezza in render, questo penso già lo sapevi. Magari prova a fare il render to texture dell'height map (quella per il bump) e convertirla in un altro software in normal, tipo xnormal o il plugin di photoshop ecc...

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Si questo lo sapevo ma non sono molto convinto che esista una connessione tra le texture e le dimensioni "realistiche" di un modello, anche perchè, a parte delle eccezioni tipo luci fotometriche , il programma lavora allo stesso modo sia che si tratti di metri o di millimetri, quindi immagino sia più un indicazione nominale che altro.

Al massimo immaginavo che si fosse obbligati ad utilizzare texture con risoluzioni molto grandi quando all'interno della viewport ci fossero modelli molto più grandi della "norma"...però devo ammettere che la mia scena,essendo in metri,all'interno della viewport ha sicuramente delle dimensioni maggiori degli oggetti che avevo modellato fino ad oggi, per intenderci la griglia iniziale è diventata molto piccola rispetto al resto della scena...ma non sò quanto questa considerazione sia esatta

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Di una texture a 5000x5000 px ipotesi, applicata ad una finestra di 2mx2m e la inquadri da 10 m, non te ne fai nulla, questa è una relazione tra px, distanza della camera, proporzione della scena.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Hai ragione, l'esempio che hai fatto spiega bene l'idea che mi ero fatto. Ti ringrazio peperepe per il tuo aiuto ;)

Visto che ci sono volevo farvi anche un altra domanda: ho visto che in tutti i tutorial in cui si effettua una proiezione nel setup della proiezione viene impostato come filtro il Supersampling Max 2,5 star dello Scanline render, anche quando poi il risultato finale dovrà essere processato con Mental Ray. Perchè non viene utilizzato il filtro Samples per pixel di Mental Ray...è una questione di velocita. di qualità o cosa?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Di preciso non so risponderti, perchè da un po' lavoro in blender, dove hanno da qualche versione introdotto il bake anche per cycles, affiancandolo al render interno del programma( entrambi consentono di fare il bake), quindi non se esista in max l'equivalenza, ossia uso mental ray per la resa finale, il bake lo fa il medesimo motore.

PS: Buona anno!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×