Home Technical Talk

Failed Normal Maps from ZBrush

Rik
I just recently got back into ZBrush, and have been trying to apply UVs to an existing ZTool. Despite following tutorials precisely, the normal maps I export out of ZBrush always have a sort smoothing error on each individual polygon. It almost looks like each polygon's UV coordinates are flipped or rotated, not so much like a smoothing group issue. The problem happens regardless if I apply/export smoothing groups or not.


My workflow is:
1) Export base mesh from 3dsmax 2013 (not unwrapped)
2) Sculpt in ZBrush
3) Export lowest subdivision
4) Unwrap that low detail version in max and export it
5) Import the unwrapped version, check highest sculpt level to make sure details remain
6) Create Normal Map in ZBrush and Export that.
7) FAIL


ZBrush-Normals1_zpsea7ebca8.jpg


ZBrush-Normals2_zps2879099f.jpg

In ZBrush, if I check the UV Map or Texture Map windows, I can see that my UV coordiantes did transfer over, though I can already see the hard edges of each polygon in those preview windows.

I only get this error when I'm importing the unwrapped version after sculpting. If I unwrap the base mesh in 3dsmax before adding any detail ZBrush, the normals come out fine, but then I'm stuck with more polys than necessary. The same problem happens if I retopologize in Zbrush and try to export the resulting normal map.

I've recreated the same issue with other models, going through my workflow and using different import/export settings to figure out the failure point, but I get this every time. I'm at a loss at this point. I haven't found any similar threads here on PC or even on Google. It's hard to articulate the issue in a single phrase, and "hard edged normal map errors" is a different conversation alltogether.

Anybody else run into this?

Replies

  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    I would advise against baking maps in zbrush. Try to do xnormal with a cage and see what kind of results you get.
  • cryrid
    Offline / Send Message
    cryrid interpolator
    This particular issue is common between max and zbrush. The UVs need to be fixed in max and reexported. If you didn't use GoZ for the import, do so (or if you did, use the normal import method)

    Either way, I'd also recommend using xnormal for baking over zbrush.
  • Rik
    cryrid wrote: »
    This particular issue is common between max and zbrush. The UVs need to be fixed in max and reexported. If you didn't use GoZ for the import, do so (or if you did, use the normal import method)

    Either way, I'd also recommend using xnormal for baking over zbrush.

    Thanks for the replies, folks.

    How do you mean fixed, cryrid? The points are all welded together appropriately, I don't know what I'd correct about them.

    With the price of this software and the insane amount of features it has, I'm suprised that this is such a prevalent issue and that everyone just switches over to another software package for this one task. The bakes that come out of ZBrush if you've already unwrapped your base mesh are fantastic, with virtually no artifacts or errors.

    I haven't heard of GoZ, and never messed with xnormal but I'll look into them both.
  • cryrid
    Offline / Send Message
    cryrid interpolator
    Export from zbrush and check the UVs again. You'll likely find that they're unwelded and flipped. The issue of individual UVs getting unwelded and flipped appears often on zbrushcentral, and every time it happens 3dsmax is involved until goz is used or a change is made in max.
    and that everyone just switches over to another software package for this one task.
    It's less surprising when the other software is a free, fast, easy to use dedicated baking application with a lot more control and options that can be customized to work better with your specific rendering engine. Same deal when you're looking for a more advanced rendering solution beyond just litspheres. Zbrush works differently than other 3d programs and sacrifices a few things in order to focus on its toolset and the ability to sculpt with millions and millions of vertices even on old hardware.
  • Rik
    cryrid wrote: »
    Export from zbrush and check the UVs again. You'll likely find that they're unwelded and flipped. The issue of individual UVs getting unwelded and flipped appears often on zbrushcentral, and every time it happens 3dsmax is involved until goz is used or a change is made in max.


    It's less surprising when the other software is a free, fast, easy to use dedicated baking application with a lot more control and options that can be customized to work better with your specific rendering engine. Same deal when you're looking for a more advanced rendering solution beyond just litspheres. Zbrush works differently than other 3d programs and sacrifices a few things in order to focus on its toolset and the ability to sculpt with millions and millions of vertices even on old hardware.

    Fair point. I'm messing with GoZ now.
  • Rik
    Thanks for the suggestions, cryrid and BARDLER. After going through a few tutorial videos and combinging other techniques, I've come up with a workflow that's worked great.

    1 ) Create and export base mesh from Max (DO NOT unwrap)
    2 ) Sculpt as much detail as necessary in ZBrush
    3 ) Go to lowest subdivision, Create UV Map from GUVTiles (temporary UV information do this before exporting anything from ZBrush)
    4 ) Export highest subdivision level as a high-detail OBJ.
    5 ) Export lowest subdivision level as low-detail OBJ (or use GoZ to automatically send it to Max)
    6 ) Optimize the low-res mesh and unwrap it.

    XNormal

    7 ) Fire up XNormal. Add the high res OBJ (with 'exported normals' setting)
    8 ) Add low res OBJ (with 'averaged normals' drop-down setting)
    9 ) Configure output location and settings, RENDER.

    This workflow works like a charm for me, so long as you do not have any UV information on the base mesh before sending it to ZBrush.
Sign In or Register to comment.