Vai al contenuto
5EYA

Problema Polygon smoothing group

Recommended Posts

Ciao a tutti. Ho notato che facendo un chamfer con edit poly agli edge, per esempio di un ipotetico box, per arrotondare gli spigoli, si ha uno strano effetto soprattutto su come reagisce la luce ....Effetto che si nota soprattutto quando si hanno molti box o pannelli affiancati uno all'altro: ognuno sembra regire alla luce per conto proprio...in maniera poco realistica..... E' un po' lo stesso problema che si ha facendo un chanferbox tenendo la spunta smooth attiva. 

Per ovviare al problema, devo o disattivare il gruppo 1 degli smoothing groups (si attiva automaticamente quando si applica il chamfer, ) oppure fare un clear all dello smoothing groups. 

Il rovescio della medaglia lo si nota soprattutto da vicino, in quanto si notano di più le facce che il chamfer ha creato sullo spigolo. 

Nelle due immagini si hanno un gruppo di box a a cui con edit poly è stato applicato un chamfer prima e dopo aver fatto il clear all. del polygon smoothing groups di ognuno. Dopo il clear il modo in cui reagiscono i pannelli ad una fonte luminosa è amio avviso l'unico corretto. tra i due. 

chamfer smooth group_1.jpg

clear.jpg

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Stai usando 3ds max ?

Che tipo di chamfer stai usando? Il classico (che lavors per triangoli) o quello quad?

 

Se usi quello quad, hai le opzioni per gestire i gruppi di smusso dei poligoni che creano il chamfer....prova con quelli a vedere se funziona!

Per i diversi parametri, nell help di max ci sono tutte le spiegazioni!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Lo "Smoothing Groups" agisce tra gli edge condivisi di due o più facce (o patch) e che fanno parte dello stesso gruppo. Quindi, quando applichi lo chamfer o qualsiasi altra modifica, prendi nota di quale gruppo smooth sono le vecchie facce e le trasferisci alle nuove.

In soldoni, selezioni le facce create con lo chamfer e applichi lo stesso numero di smooth che avevi in precedenza. A volte fare "autosmooth" e dargli una soglia con il threshold può risolvere il problema...

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Allora, si, uso 3dsmax. No non uso il quad chamfer, perchè per gli smussi e spigoli non funziona molto bene, il chamfer classico secondo me è più veloce e adatto selezionando contemporaneamente tutti gli edge ad esempio di un box , si ottiene un discreto risultato nel caso di un' anta di un armadio, etc...In ogni caso anche il chamfer classico ha l'opzione smooth attivo\disattivo. Disattivandolo di fatto è come se si facesse un clear del polygon smoothing group: risolvo il problema della luce, ma  le facce create dal chamfer, (pari al numero di connect edge segment creati) saranno visibilmente spigolose.

 

@michele71 

Un box per esempio ha 6 facce le due frontali hanno smoothing group 1, quelle laterali 2 e quelle superiori e inferiori 3. Se faccio un chamfer, a 6 di tutti gli edge, con lo smouth attivo per esempio, le prime 3 facce dello spigolo adiacenti a quella frontale avranno smouth come quella frontale, mentre le altre 3 successive, avranno smouth uguale alla faccia laterale.  Se non utilizzo lo smouth: o le setto a mano, o seleziono tutte le facce del chamfer e faccio autosmooth ma così facendo il risultato non sarà perfetto, in quanto l'autosmooth non fa distinzione tra il primo gruppo di tre e il secondo gruppo di 3 (del totale di 6 facce del chamfer create)

 

Insomma, mi sembrano operazioni al quanto macchinose, ...non capisco perchè sia così lungo fare un chamfer ad un box mantenendo gli spigoli morbidi, senza che si vedano le facce, ma allo stesso tempo avendo una riflessione della luce reale e corretta.

 


Modificato da 5EYA

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
42 minuti fa, 5EYA ha scritto:

[...]Un box per esempio ha 6 facce le due frontali hanno smoothing group 1, quelle laterali 2 e quelle superiori e inferiori 3. Se faccio un chamfer, a 6 di tutti gli edge, con lo smouth attivo per esempio, le prime 3 facce dello spigolo adiacenti a quella frontale avranno smouth come quella frontale, mentre le altre 3 successive, avranno smouth uguale alla faccia laterale.  Se non utilizzo lo smouth: o le setto a mano, o seleziono tutte le facce del chamfer e faccio autosmooth ma così facendo il risultato non sarà perfetto, in quanto l'autosmooth non fa distinzione tra il primo gruppo di tre e il secondo gruppo di 3 (del totale di 6 facce del chamfer create)[...]

 

Proprio perché, come accennato in precedenza, lo smooth prende in considerazione gli edge adiacenti uno all'altro per determinare i gruppi. Le nuove facce che crei con lo chamfer hanno gruppi differenti e quindi vengono ignorate.  Secondo i casi (per gli engine in real-time vengono prese altre considerazioni) la soluzione sarebbe quella di far diventare i gruppi differenti uguali. Quindi, come già hai fatto, selezionare il tutto, cancellare i gruppi per poi rinominare lo stesso con un gruppo unico. Un'altra soluzione è aggiungere un mod "Smooth" che in definitiva ha le stesse funzioni presenti in EditPoly. 

 

Ho fatto una prova con un cubo. Seleziono tutti gli edge e creo uno chamfer. Selezionando le nuove facce create noto che non hanno uno gruppo smooth. Quindi con il comando "Select by SG" vedo i numeri di gruppo presenti nelle facce non selezionate. Ora se immetto gli stessi numeri di smooth nelle nuove facce dello chamfer, esse si "sistemano" per il meglio, creando uno smooth comune la quale contiene tutti i gruppi smooth immessi nel cubo.

 

Comunque penso che il discorso sia diverso secondo i casi che ci si parano di fronte... :D 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Ho notato comunque che è un problema molto comune...mi è capitato di vedere anche render di interni sulla rete, (si nota maggiormente quando si hanno pannelli o ante adiacenti, magari di un materiale NON troppo opaco e di tinta unita)dove questo difetto è palese....

Utilizzando la geometria corretto + vari connect e turbosmooth non si ha il problema di queste riflessioni strane, ma per certi tipi di oggetti molto semplici come ante, pannelli etc..che necessitano magari di smussi e raggi precisi, è impensabile NON utilizzare chamferbox o NON fare il chamfer degli edge...

 

Forse uno dei metodi più veloce potrebbe essere creare la chamfer con lo smooth attivo e poi deselezionale dallo smoothing group (o non assegnare allo smoothing group) solo la faccia frontale. Così', sembra risolto il problema in maniera abbastanza veloce, resta da capire se poi una volta assegnato il materiale , in fase di renderizzazione , si vedrà "lo stacco" (come si nota nella viewport shaded) tra la faccia frontale e i bordi  


Modificato da 5EYA

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

io solitamente la risolvo selezionando le facce che voglio che risultino piatte e togliendo loro qualsiasi gruppo di smusso.

Così gli edge con il chamfer continuano a simulare la rotondità (se è quello che voglio) ma il pannello che sto modellando rimane piatto.

 

[edit]: questo implica l'uso di un edit-poly o edit-mesh sullo stack.

Non uso mai il modificatore Chamfer (questione di abitudini), nel caso si può provare ad aggiungere un modificatore "smooth" impostando 22.5 ed autosmooth.
Ovviamente poi dipende dal modello, ma 22.5 trovo che risolva il 90% delle situazioni

[Edit 2]:
Ho fatto la prova su un box... no, in questo caso l'autosmooth non è di aiuto, se non per togliere tutti i gruppi di smusso


Modificato da Noothera

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Noto ora che nel pannello del modificatore chamfer, al fondo, c'è l'opzione "smooth chamfer only".

Entrambe le soluzioni che indico io però portano a dare la sensazione di uno stacco tra la parte di chamfer e la parte piatta, del resto è normale: gli abbiamo detto che quelle facce appartengono a 2 superfici differenti!

In questi casi allora effettuo un "inset" della faccia piatta (sempre da edit poly): in questo modo c'è una striscia di poligoni a fare "da filtro" tra la curva del chamfer e la parte piatta.


Modificato da Noothera

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Si si certo, l'uso di epoly scontato. Il il chamferbox non lo uso quasi mai, parto da un box e poi edit poly....

Quindi la soluzione migliore mi confermate essere effettivamente lo stacco della faccia frontale, ottenendo però come rovescio della medaglia una  questo. Non ho ancora fatto una prova di render con applicato il materiale però. 

 

Ma secondo voi è un bug di max questo? Non mi sembra normale che di default quando si crea un oggetto con gli smussi le facce reagiscono alla luce in quella maniera (non reale) e che bisogna fare un po' di giri per riuscire a rattoppare in qualche modo...giungendo a compromessi...

 

L'inset a tal scopo non l'ho ancora provato...

Immagine.jpg

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

L'assegnazione dello smooth non è una cosa "logica", nel senso che la creazione di nuove facce prende in considerazione le adiacenze degli edge. Quello che si vede come un piano (quad) in realtà sono due triangoli (tris) quindi lo smooth è applicato solamente su tre edge mentre vengono ignorati quelli extra. Quindi la "logica" vorrebbe che tutte le coppie di tris che formano i quad debbano condividere lo stesso gruppo smooth.

Invertire la triangolazione di un quad (in editpoly il pulsante Edit Triangulation) può risolvere molti problemi di smooth, cosi come l'opzione "Retriangulate". Un problema che potrebbe sorgere è la creazione di facce intermedie (tipo un chamfer cn 3 segmenti) la quale contiene adiacenze con più gruppi smooth. In questo caso si possono assegnare più numeri di gruppi, ovvero, quelli presenti è già assegnati.

 

Ora di preciso, io ancora non ho capito l'effetto che desidea 5EYA; se si vuole uno smooth tra la faccia piatta e quelle create dallo chamfer, è preferibile cancellare qualsiasi gruppo e successivamente dare un numero/gruppo comune. Se si desidera staccare le facce piatte la soluzione è quella sopra indicata...

 

Per finire, il comportamento della luce nella viewport è utile solo per capire se ci sono gruppi smooth o meno. Per testare effettivamente la sua riuscita, si deve necessariamente renderizzare. In più si deve calcolare anche l'incidenza delle normale nei nuovi poligoni, la quale può ingannare il risultato finale. Infatti sia lo smooth che la normal vanno a braccetto. Quindi non prenderei per buono lla visualizzazione in realtime...


Modificato da Michele71

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

L'effetto che desidero è evitare di avere dei pannelli il cui riflesso è sè stante,e che quindi se affiancati non restituiscano un una riflessione della luce non continua come nella prima figura, o come in quella qua sotto...

Immagine.jpg

 

Nella realtà, correggetemi se sbaglio i riflessi non funzionano così'...

Stessa cosa qua sotto (anche se essendo meno lucido il materiale è meno evidente...)ma dove finisce il primo top il riflesso della luce nel secondo top dovrebbe continuare, e non ricominciare più chiaro di quello alla sua destra

 

SS.jpg

XX.jpg

 

 

ecco  il prima e il dopo aver fatto il fatto il crear all delle facce....Ora il clear all è da escludere, come detto perchè di fatto toglie continuità alle facce degli smussi creati col chamfer...

Il compromesso, abbastanza veloce in termini di passaggi, possimao ipotizzare sia non assegnare lo smooth solo alla faccia frontale...ma non ho ancora avuto modo di provare un render con un closeup da vicino utilizzando questo metodo....

(di fatto da lontano, non assegnare nessun smoothing group,cioè fare un clear all, non dovrebbe essere un grosso problema dato che la distanza non permetterebbe di distinguere le varie facce non omogenee del chamfer )


Modificato da 5EYA

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.

×