Home Technical Talk

Normal map confusion.

swarmedia83
polycounter lvl 9
Offline / Send Message
swarmedia83 polycounter lvl 9
I've looked up tuts and followed them, but seem to still be having issues. I'm just learning about creating maps since its always been a bit of a confusing thing for me to do.

I created it in zbrush. I have the map size at 4096. The normal map options are set to tangent/smoothUV/Snormals. Once i create it i thought i would get the blue texture map with what seems like indents set onto the image. Instead i get a plain blueish purple image. A tut i saw seemed to have the same image so i figured this wasnt an issue.

Heres an example of that image, and the character in zbrush detailed at second to last highest setting, and the character in maya after setting up the map as i followed in the tut. As well as the bump settings.

faces_zps9f8ad852.jpg

attributes_zps3eddc85c.jpg

Is there something i'm doing wrong? The uvs seem fine. I checked them several times, and doesnt seem to be the issue. If theres anymore info needed to decipher the issue ill be glad to post it. Thanks in advance

Replies

  • Bartalon
    Options
    Offline / Send Message
    Bartalon polycounter lvl 12
    Your normal maps are very hard to see in your attached images, but it looks like there is some pixel smearing going on. Zbrush does not like it when UVs are exactly along the 0 or 1 UV axes, resulting in a similar bake. If you have UVs resting on these axes, try scaling them down just slightly so they rest inside the 0-1 area.
  • Joopson
    Options
    Offline / Send Message
    Joopson quad damage
    I'd say don't bake in zbrush. Use xNormal, or your native program.

    My only explanation is that you're maybe baking from your high-poly to your high-poly, so there is no data to be put into the map. I don't know if that's true, but it's all I can think of.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Joopson wrote: »
    My only explanation is that you're maybe baking from your high-poly to your high-poly, so there is no data to be put into the map. I don't know if that's true, but it's all I can think of.

    Looks like this to me too. When you get empty purple normalmap, then that means you baked nothing.
  • Eric Chadwick
    Options
    Offline / Send Message
    Yeah. Export the Zbrush model, import it into the Maya scene that has your lowpoly model. Then bake from the highpoly to the lowpoly.
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    would you recommend using topogun as well for baking the normals? Is xnormal the best for baking maps? Ive never used the ladder.

    @Bartalon: I apologize for my ignorance, but this is one of the things about UVs/map creation is the whole concept of the UV 0 to 1 areas. Heres a screen cap of my current UV layout. This includes the full bodu, and accessories.

    UV_zps10083465.jpg
  • Eric Chadwick
    Options
    Offline / Send Message
    The blue lines are UV 0, the major black lines are shown for every whole UV unit (UV 1, 2, etc.).

    Your UVs are not touching nor overlapping the 0-1 UV edges, which is good.

    But you have a lot of wasted UV space. You should pack all these into the lower-left quadrant, the square from U0/V0 to U1/V1.

    Try to keep the spacing consistent between the UV islands, at least 4 pixels, to avoid seams.

    We have some info here about good UV workflow.
    http://wiki.polycount.com/TextureCoordinates
  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    Your UVs are not touching nor overlapping the 0-1 UV edges, which is good.

    But they do extend beyond 0-1, don't they? It looks like he has the face in the 1-2 range. That would definitely cause an issue in zbrush at least, and have xnormal ignore them.

    (Edit: Nvm, just read the next sentence again. I thought it was initially just about packing).
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    The reason i didnt pack it into the lower left quadrant is because ive been told to scale up certain UVs so that the resolution of the texture will be higher once applied, and if it were too scaled down it'd come out muddy.

    also the lower left quadrant and lower right are both separate objects. If all the UVs were packed into one quadrant it wouldnt matter if they were all separate geometry? would it still work properly? Again i know this must seem like very noobish questions, but ive been struggling to understand this for a while. Thanks again for taking the time to help
  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    If you need them to be different textures, still pack them into the 0:1 range. They'll be overlapping and it will look like a jumbled mess, but if you bake each group off as individual chunks and set up your materials for each, then it will look correct. If they're separate meshes then you'll have an even easier time as they're already split into chunks and the UVs wont look as jumbled, but still move them to the same 0:1 range for each texture. Moving them beyond usually tells a baking program to exclude them from the bake.

    Otherwise, if you want them on the same mesh using the same texture, scaling things down proportionately should do the trick.
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    I see. Ill try that out when i get home from work. If i encounter any problems ill post them here. Thank you all for the information. Its most appreciated.
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    Ok well i layed out the UVs in one quadrant, and i got results this time. Unfortunately when i take it into maya i dont get a clean map. It has all these odd textures.

    normalsProblem_zps1e912e2e.jpg

    What can be the problem? Is it a shader setting?
  • Bartalon
    Options
    Offline / Send Message
    Bartalon polycounter lvl 12
    Did you set your bump2d node from Bump to Tangent Space Normals?
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    Ok thats what I missed, but im just not getting any of the detail i had made in zbrush onto the map. What subdivision is best to create the normal map in zbrush?
  • Bartalon
    Options
    Offline / Send Message
    Bartalon polycounter lvl 12
    Joopson wrote: »
    My only explanation is that you're maybe baking from your high-poly to your high-poly, so there is no data to be put into the map. I don't know if that's true, but it's all I can think of.

    Joopson may have a point here.

    ZBrush utilizes your lowest subdivision (specifically it's UVs) as a canvas onto which it bakes your high-res sculpted details. ZBrush forces you to be in your lowest subdivision (sDiv 1) in order to create a normal map, but if you have little to no difference in topology between your high and low, the normal map also has little to no information to transfer.

    Your lowest and highest subdivisions should have a drastically different point count. If they are close to the same number or exactly the same, you may be doing what Joopson said.
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    Thats alot to take in. Id like to understand this though since its very important that I do. Anyways my highest subdiv on my model in zbrush is 3.545 mil activepoints and 6.80 mil total points. At subdiv 1 its at 3,474 activepoints and the same number of total points. In all honesty, im not sure if thatll help though.

    I have however been creating the map at subdiv 5 since i want the higher detail which isnt a while lot, but around the eyes/cheeks/nose/throat there is detail i want to retain.
  • Bartalon
    Options
    Offline / Send Message
    Bartalon polycounter lvl 12
    That sounds like it may be your problem. The surface topology of subdiv 5 may be too similar to your highest subdiv. Try baking to a lower subdiv (try sDiv 1 or 2) to see if your normal map gets any details baked to it.

    I assume it will... If that's the case, then the curvature you want to retain from subdiv 5 will have to be modeled into the low poly. There's actually a thread floating around here for facial topology:

    http://www.polycount.com/forum/showthread.php?t=80005
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    Ok so youre telling me that im going to have to retopologize? I thought subdividing in zbrush and sculpting in the detail was all it took? The topology isnt wrong or anything either the loops are where they need to be etc, Its just odd that this would be happening.
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    Ok well setting it at subdiv 2 seemed to do the trick. Still though for future reference what is the best way to go about making sure that my low poly model in maya receives the proper detail from the normal map?
  • Bartalon
    Options
    Offline / Send Message
    Bartalon polycounter lvl 12
    Ok so youre telling me that im going to have to retopologize? I thought subdividing in zbrush and sculpting in the detail was all it took? The topology isnt wrong or anything either the loops are where they need to be etc, Its just odd that this would be happening.

    Generally, yes: sculpting is all it takes. However, you said you were baking from sDiv 5 in order to keep certain curvature; I assumed you meant you wanted to keep this curvature for your low poly.
    Ok well setting it at subdiv 2 seemed to do the trick. Still though for future reference what is the best way to go about making sure that my low poly model in maya receives the proper detail from the normal map?

    In ZBrush, that's pretty much all there is to it. It makes a normal map from your lowest and highest sDivs with the click of a button. The low poly you have in Maya should be the exact same model that you are using in ZBrush to bake normals (which is often sDiv 1).
  • swarmedia83
    Options
    Offline / Send Message
    swarmedia83 polycounter lvl 9
    Yes I made sure that the low poly in maya and lowest subd in zbrush were identical. I was just confused at what subd i needed to be at to get the details from the sculpt. I dont understand how being at the lowest subd gets it for me tho
  • Eric Chadwick
    Options
    Offline / Send Message
    The normal map only stores the differences in slope between the highpoly Zbrush model and the lowpoly in-game model.

    When the slopes are similar, the normal map will be very plain-looking, and when it is applied to the lowpoly model it will look like it did before being normal mapped.

    You use a normal map to grab all those detailed slopes from the highpoly model.

    You use subdiv 1 or 2 because game models generally need a low triangle count, to keep a fast framerate in-game.

    However, subdiv 2 is four times the triangle count of subdiv 1!

    If you don't want to create a re-topo from scratch, you can export subdiv 2 and selectively choose which edge loops to collapse, which will give you a better triangle count. Then you can use this as your low-poly model, and bake it in Maya or Xnormal or 3ds Max or whatever (because Zbrush won't bake from your selectively-collapsed model, unless you do some messy re-projection jiggery).

    Also, Zbrush won't give you a flawless normal map if you are eventually viewing it in Maya. This is due to something called the "tangent basis", which is generally different for each normal map baking tool. If you want the map to look great in Maya, you need to bake in Maya to get that, not in Zbrush.
  • lgtmiranda
    Options
    Offline / Send Message
    I am having the same problem, and I tryed almost everything to work it out, without success. I have redone my zbrush pores effects 3 times, changes the settings of the extraction with mapmaker, I am using bump with tangent normal and I am having the same problem, huge pores instead or normal ones
    here is the zbrush bust
Sign In or Register to comment.