ZBrushCentral

Normal map "error"

Hi -I have been having this problem since using ZBRUSH in our pipeline at work and was wondering if there is a way around it that I don’t know of?

The problem occurs when there are overlapping polygons on my ZBRUSH mesh - e.g on a suit jacket I am making at the minute - the collar folds over onto the jacket. Projecting the normal map onto my ingame mesh - which has no modelled collar - just projected straight onto the jacket as all one mesh I get pixellation around the colar boundary.

In 3DSMAX I can negate this effect by turning on supersampling - is there some option to do the same in ZBRUSH (3.1) at all?

Attachments

artifacts.jpg

Can you post a closeup of the lowpoly geometry? and a closeup of the zbrush model?
I know you can’t show game assets for work but without seeing the geometry its hard to say where the problem is.

Ive had to crop the image quite close due to NDA stuff but I hope this gets across better what I mean.

You can see the high poly model on the left - where the geometry for the collar is overlaid onto the main body. The lowpoly on the right is all one mesh - you can see in the wireframe on the right that I have made cuts on the lowpoly where the collar is but it is all one mesh and there are no UV seams around this region.

The pixellation is occuring on the boundary between the two parts of the highpoly mesh - the collar and main body. 3DSMAX has a high quality render option called supersampling which smooths/ anti-alias’ these lines out - does ZBRUSH have something similar?

Attachments

NORMALS.jpg

The only thing I can think of off hand would be to split the model. Basically, take the collar and make it another subtool. This is really easy if it’s a separate polygroup because you can then just press Tool>SubTool>GrpSplit to break it apart.

Once split like that, make a normal map for each subtool. You would then combine the maps in Photoshop.

In zbrush using the ‘zmapper’ plugin, in the options under expert pass you could try upping the ‘raycasting’ and ‘oversampling’ . Raycasting is used to calculate the distance of the tangents used and oversampling is for higher levels of sampling per tangent normal.
I’m a maya guy so not sure of specific game engine and 3DSmax requirments but creating a normal map at a higher rez than is needed then shrinking in photoshop always yeilds good results, and I convert all my maps to .map files for mental ray as it lowers the computation time of renders.
Thats all I can think of without using displacement, which as far as I know isn’t used in games.
Hope this helps.