Ciao a tutti, vorrei condividere con voi questo piccolo trucco.

Vi sarà già capitato di applicare un materiale con displacement ad un'oggetto poligonale e scoprire con orrore che nel render gli spigoli dell'oggetto risultano aperti.

NB: PROBLEMA RISOLTO IN MENTALRAY SU MAX 2010 O SUPERIORE

be 01

be 02

Questo accade perchè dopo la tassellazione i micropoligoni del displacement vengono scostati secondo il verso delle normali... e questo verso tiene conto dell'interpolazione pre-render(smooth).
Ne deriva che se due poligoni adiacenti non hanno continuità di smoothing allora lo spigolo fra i due poligoni si aprirà nel rendering.

Succede con la maggior parte dei displacement basati su adaptive rendertime tassellation(mental ray, vray etc)... il displacementmod di vray ha un'opzione keep continuity che previene l'apertura dei bordi, ma è comunque una soluzione rappezzata.

La soluzione più corretta consiste nell'agire preventivamente sulla geometria.

Per evitare che i bordi si aprano basterebbe assegnare lo stesso smoothing group a tutti i poligoni, oppure applicare un autosmooth a 180°.

be 03

be 04

Come possiamo vedere dal rendering la geometria è rimasta chiusa ma la curvatura è esagerata e scorretta.

Il modello non può essere costituito da due sole facce, bisogna affinarlo smussando gli spigoli (chamfer) e suddividendo le parti piane in poligoni più piccoli di forma quadrata.
NB: dopo aver applicato il chamfer è necessario riassegnare lo smoothing group.

Sebbene non sia strettamente necessario ai fini di prevenire l'apertura dei bordi, consiglio di assegnare coordinate di mappatura continue tramite unwrap.

be 05

Con uvMap:

be 07

Con uvwunwrap:

be 06

Fine :)

ps: originalmente avevo postato nel mio blog, ma l'ho spostato quì visto che sembra destare abbastanza interesse.

---
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