ZBrushCentral

Normal map artifacts

Hi,

I was playing with the inflate brush today and noticed that Zbrush produces artifacts where the mesh bumps into each other.

I took the high-res mesh into Max and baked normals using Kaldera and it didn’t have these problems.

I’ve attached a pic, Kaldera is on the left ZB on the right - does anyone know if there is a way to fix this problem, as Max can be a bit stroppy when it comes to handling large meshes.

Thanks,

Are you using Tool>Normal Map>Adaptive or not? If not, I recommend that you activate it and see if that eliminates the problem.

Also, what are the high resolution mesh density and the normal map size?

Hmm, this was commented on in another recent thread. Don’t think it went anywhere or solved anything though. Sorry I don’t have anything constructive to add. I’ll just wait to see how Auricks comment pans out now. :slight_smile:

http://www.pixolator.com/zbc-bin/ultimatebb.cgi?ubb=get_topic&f=4&t=001650

Hi Aurick,

I tried adaptive on and off, it made no difference. I also tried GUVtiles as well as the mapping I created in Max on the original obj file.

I just did a fresh test, and tried a 4096x4096 map on the object which is 786432 polys. When you create the normal map and up the res again the artifacts are hidden by the overlaps of the actual geometry, but somehow they’re not getting occluded when they’re baked.

Thanks

For best quality, use higher mesh-resolution when generating the maps. Also be sure to use Adaptive mode.

Obviously, ZBrush is much more than just a normal map generator , but if you aren’t satisfied with the maps you may want to try and export the high resolution mesh to a dedicated normal map creation program. In future updates, however, we are likely to further enhance the normal-map creation process :).

Hi Matthew,

thanks for the response.

To be honest I think the map size is a red herring in this case, otherwise why would Kaldera be able to create a normal map at the same size, with the same mapping without the artifacts?

ZB seems to include geometry in the normal map that should be hidden as it self-occludes and that it needs a way of detecting these occurrences in the model when it creates the normal map, hopefully future versions will be able to fix this.

The main reason I wanted to keep the pipeline in ZB as much as possible is that ZB is a lot happier at handling large meshes than Max is.

This makes it trickier when trying to bake normal maps from the object as Max is prone to crash with an application error before I get the chance to bake it.

I’ll have to try some of the other normal baking apps to see if they have similar problems with this type of geometry.

Thanks,

Ummm, it’s really something annoying :frowning:

<BLOCKQUOTE>quote:</font><HR>To be honest I think the map size is a red herring in this case, otherwise why would Kaldera be able to create a normal map at the same size, with the same mapping without the artifacts?<HR></BLOCKQUOTE>
Have to backup Stephen on this one. Would have posted the exact same thing if he hadn’t already. I have a strong feeling this is going to be one of those things we’ll only see in a future version though. Or are incremental patches planned at all for Zbrush 2.0?

Please Could any one help me with the same problem???

Hello I am TIO_MATT, we got 2 lincenses here in the department.
We are trying to use it in production.

I am having problems genereting the normal maps for my models.
I am getting artifacts ans weird black doots in some areas.
I have try importing several options of normal map:
World space, tangent an Smooth uv… with no feedback at all.

I am using 4k maps so I should have plenty of resolution.
I check my Uvs and they are correctly done.

Please any help would be more than apreciated.:frowning:

Thanks:

TIO_MATT

Attachments

Z_BRUSH_QUESTION copy.jpg

I’ve PM’d you - but for anyone else, some guys at our company have been looiking at ZB and I think the problem is that Zbrush doesn’t create its normal maps the same way as other programmes like Kaldera. Instead of ray intersections it bases it on UVs and that is why overlaps create artifacts.

Would be nice to get confirmation on this from Pixologic - a fix would be even nicer, but I’m guessing it’s not a trivial fix if it involves coding a different method for generating the maps.

  • Steve

I’m pretty sure that it’s not so much about UVs as it is about not having any control over the ray distance in Zbrush. In other normalmappers you can set a tolerance for the rays and tell the program to only write the furthest intersection to the normalmap. That’s why the bubbly mesh works in Kaldera, the normalmap only contains the upper parts of the mesh (same as you would see if you applied a planar projection from the top). Zbrush (AFAIK) always chooces the normals that are closest, and as such generates output for all intersections inside the inflated parts of the mesh. That’ll produce artifacts.

If I see it correctly, the leg also has intersections (slightly inflated creases) in the problem areas. That’s not an ideal situation for any normalmapper, but a different program will get around it with the right ray distances.

The surfaces were overlaping each other so I aply the smooth Tool option in the afected areas and extract again the normal map… and now because I fix the intersection on surfaces in tight places it generates fine…but…

I still got a big problem.

When I generate the normal map It generates fine but (in some areas) I had notice that the normal direction of the map go inverse and flips the other way, (in some areas) the sames happen if I extract the bump.

Some areas bump the right direction but some other areas bump to oppposite way, How can Z brush can get confuse generating some normal maps fliping the direction of the map??

Help, Thanks:small_orange_diamond:(

TIO_MATT

You might be running into a problem with different coordinate systems between applications (although the inverted normals should be consistant in that case). ZBrush has several options to account for that, look in the Preferences->ImportExport section and start with setting NormalMapFlipY.

I get the same problem. If I apply a map from Zbrush as a bump map in maya some of the original polys appear to ‘bump’ in the opposite direction. But the same map applied to the same object but as a displacement works fine.
I’ve tried flipping the normals of the offending poly’s but that doesn’t work.
I’m using maya5.0 and mental ray.

Josh

I am using maya 6 and mental ray…
I got exactly the same problem…

Could the Z brush support post some examples of what all the diferent options of flipping the normals…in the preference menu (of exporting and importingnormal maps)…

There is not enough information about wich settings to use to export normals and desplacement maps…for maya and mental ray…

It seems like we have to know what tipe of settings relays to mental ray and Maya but we dont have any doc…and I am not the only one…

We are people who want anwsers not problems…:slight_smile:

Thanks:

TIO_MATT

Please help us.
For we know no not what to do.:cry:

I’m no expert with ZB or normal maps but perhaps this will work:

Save a displacement map instead of a normal map for your object. Clear and resize your document to the dimensions of your map then apply the map to a polymesh plane that fills the document.

Apply Pixolator’s NormalRGBMat.zmt mentioned in this thread, reduce ambient value to zero in the LIGHT palette and Best Render. Export the document and apply to your original object in the renderer of your choice.

Let me know if it works. :slight_smile:

Marcus

There seem to be some problems getting a ZBbrush-generated normal map to render correctly in mental ray.

I don’t know if there’s a button that will match the tangents and lose the seams, I try fix seams in the texture panel ,…It fix it but not completly.

… looks as if the ZBrush tangents don’t match the Maya tangents, so the reconstructed normals will not be the same.

HELP!!!

Please bear in mind that Normal Mapping is a technology for which there are no standards as of yet. It’s very new, and each rendering engine seems to have its own set of rules for how to make use of normal maps. There’s very little if any consistency accross the board.

In cases where the difficulty is in creating a normal map within ZBrush, we are normally able to help you – although some rendering engines require that you perform certain steps differently in ZBrush (for example, turning the Geometry>Smt button off when subdividing the mesh). However, it is not always possible for us to know which settings you will need to know. Only a thorough reading of your rendering engine’s documentation and/or experimentation will tell you the particular setting combination that your rendering engine requires.

When it comes to applying the normal map in your engine, there is no help at all that we can provide. Please consult your renderer’s documentation for such information, or its user forums.

All of that having been said, whenever someone gets good results with a particular rendering engine, I would like to encourage you to post your findings here at ZBC. That way we will be able to build a database in the FAQ of the right settings to use for the most popular rendering engines and animation packages.

I had the same problem. I solved it by subdividing a copy of the mesh in 3ds and then exporting it. Starting with a higher rez cage mesh fixed the artifacts and the uv’s were still the same so I could still used the generated map on my un subdivided mesh in max. :slight_smile: Hope this helps