Home Technical Talk

nORMALS ZBRUSH TO mAX

Hello PC
Need a little help getting my normal maps produced for a this character. This is my first attempt at producing a normal of this type and its giving me a headache. I have read the normal map thread on this site and it has given me a fairly clear idea of what I need but I have not yet been able to produce it. So that being said, I simply want to produce a clean tangent normal map for this guy and then reaplly it to the low poly in max.

Lamia_inzbrush_color.jpg



Having a lot of trouble getting the normal map produced for this guy and hoping you guys can help me figure out where I went wrong.

Let me start at the beginning and walk you through my work flow.

First off I am using Max9 and Zbrush2 (this is probably part of the problem but its a student version and I can't update to 3 for the time being)

- I created a low poly mesh in Max. I then laid out the UVs and separated the them so that I could get different polygroups in zbrush. It looks like this now
Lamia_inmax_UVS.jpg

- I then exported the mesh via the guru OBJ exporter and then imported it into ZBrush.
- I then did my sculpting and painting as you see

-So to attempt creating the normal map
-I then attempted to create a tangent space normal map in zbrush, and this is where it gets hairy.
For some reason when I turn on the Tangent option I basically get a blue blob with very little detail like this ; (and this is with some contrast added in an attempt to bring the details out) Obviously, when this is applied to the lowpoly mesh , it has little or no effect.

LamiaNormalsTangent.jpg


I managed to produce a local/world space normal that has better detail (although it still has errors but at least the details show through.) it looks like this;

LamiaNormals.jpg

Despite the errors, at least this one has the detail I am looking for but since this is a character that is going to be moved, rotated and deformed, this normal map just wont work for it. right?

I tried converting this map to a tangent using the invidia plugin for photoshop, but again I lose almost all the details and I am back to square one.

I also tried using xnormal and it produced a much better normal map but it only produced the map for the wing section only which is the piece in the first UV quadrant. It looks like this;

xnormals.jpg


As you can see, I get much better detail but I am missing the rest of the map. I am pretty sure this is because I broke up my UVs for the polygroups. I tried removing the offset for the UVS on the low poly but that just made matters worse, I assume becasue then the high poly and low poly UVS dont match any longer. I tried reimporting the updated UVs into zrush and re-exporting the high poly, in an attempt to get the UVS to match but i didnt seem to work becasue the highpoly still has the poly groups and the normal map is still screwy.

How can I fix this and get a proper tangent space normal map produced?

One other issue that maybe related or not is taht when I apply the local space normal to my low poly in max, I get some pretty extreme shading, to the point that half the model is black. The nomral detail is fairly decent, (although I have some seams I am not sure how to get rid of) but I can only see them if I rotate the camera enough to remove the shading on the mesh. Is this caused from the standard shader in max or is it something else? And how do i get it to display without the nasty shading?

LamiaShading.jpg

So to reiterate a bit;
- Why or how can I produce a tangent space normal map with all the details I need? Either in Zbrush, max or Xnormal
- If Xnormal, how do I get it to render all the pieces on one map? Do I need to redo the UVS and if so how do I get the UVS updated for the high poly? (keep in mind I am using Zbrush 2 and not 3)
- How can I clean up the seams and error spots? Do I need to just paint those out or is there another way?
- How can I fix the shading in max?

I hope this is clear enough if not please ask. I know this is a long one and I appriciate any help or advice any of you may have. Thanks in advance for your help

Replies

  • [Deleted User]
    Options
    Offline / Send Message
    [Deleted User] polycounter lvl 18
    I don't know about Zbrush's normal mapping tools, but to do it in xNormal, you'd need to redo the UVs so that everything that needs to be projected is in the first quadrant. For the mirrored or repeated parts (anything that's going to overlap and use the same pixels), you'd want to offset the overlapping parts outside of that space in any direction.

    The UVs on the high poly don't need to match the UVs on the low poly. Unless you need to bake a texture that's been painted onto the high poly down to the low poly, the high poly doesn't even need to have UVs at all (and even then they don't have to match).

    So you can make whatever changes you need to make to the low poly UVs and then export the high poly from ZB, load them into xNormal, and it should work.

    If you get visible seams, turn up the padding in xNormal.
    For other artifacts, try converting the low poly to an Editable Mesh, applying a Projection modifier, pushing the cage with it generously to be sure it's enough to encompass the high poly, and exporting that as an xNormal .SBM file (check all the boxes in the sbm exporter). OR, increase the maximum ray distance in xNormal.

    If you're mirroring half the face, or some other part where the two sides will meet visibly on the model, you'll probably get a visible seam there too. That's harder to fix, but it's discussed a lot in the normal mapping thread.

    For the shading in Max, add lights and see if that fixes it. I could be wrong, but from the pic, it looks like the black parts just aren't getting any light.
  • AnimeAngel
    Options
    Offline / Send Message
    Hey Fly. Thanks for the response.

    I did try doing as you mentioned; I redid the UVs so that one half was in the first quadrant and thed miorrored half was offset by 1.

    NEWuvs.jpg

    I then Exported that to an obj and dropped that into xnormal along with my high poly mesh from zbrush And this is what I get

    XnormalBlobs.jpg

    Any idea why this happens? I have tried several times but I basically get the same result

    And on the shader in Max... If I put a light(s) the mesh is then solid black and I can't see any details of any kind.
  • [Deleted User]
    Options
    Offline / Send Message
    [Deleted User] polycounter lvl 18
    Looks like the meshes aren't lined up. Have you tried importing the high poly one into Max with the low to check? If not, try that.
  • AnimeAngel
    Options
    Offline / Send Message
    Ya I imported each of the pieces of the highpoly back in and on separate layers. The model itself is lined up fine. Some pieces of the highpoly stick through the lowpoly but they are in a the same space.
  • AnimeAngel
    Options
    Offline / Send Message
    I also played with he cage some and gave it an ample push. then exported it out and dropped it into xnormal. It added a few more blobs of color but thats about it. I did notice though that as it was rendering the map, it appeared as if each of those color blobs is one uv section, just they got misaligned, scaled way down and turned into unreconiazble blobs some how
  • AnimeAngel
    Options
    Offline / Send Message
    HMM..well checked again on the scale of the models and even thoguh I am pretty sure they were the same size, somehow my lowpoly is much larger now then the high. I will fix that and let you know how it goes. Thx
  • Target_Renegade
    Options
    Offline / Send Message
    Target_Renegade polycounter lvl 11
    Are you still using the UV coordinates you had for the polygroups on the high poly? And are you baking your normal map on a lower division of your high poly?

    Wondering where its going wrong. It should be easy enough to export your high poly to 3ds max and then bake it onto a low poly, with new a UVW map.
  • AnimeAngel
    Options
    Offline / Send Message
    Ok well now we are starting to get somewhere thanks to you fly_soup.
    Here's where I am at now

    startingtowork.jpg

    What I think happened was that I changed my OBJ exporter to the guru export, which is awesome by the way. Guru has a default scale setting of 1 by the max OBJ export has a default of 6 I think. Thus, somewhere along the way the two got crossed.


    I need to do some adjustments to the lowpoly model so the teeth and a few other areas work better.
    Still got a quite of few error spots in the map though and not sure how to fix them. I tried pushing the edge padding up but that just made the edges worse. I got the best result so far by turning the edge padding down to one.
    I turned the ray distance up a bit but didnt notice much of an effect. It cleaned it up a bit but didnt fix all of it.
    Can I just paint out the edge errors, or would that be to much of a pain?

    I am also having issues with he cage. for some reason it says the vertex dont match but the cage is on the same mesh.. I didnt alter it in anyway. Could that be part of the problem with the edges?
    And as you can see I still have the extra dark shading occcuring in the max render. even with lights I still get the extra dark areas, although they are not nearly as bad as the local space map was. Perhaps another shader would be in order...

    Adn another question is. When you set your output file out of xnormal, what file format do you use?
  • torijinsir
    Options
    Offline / Send Message
    I am having exactly same problem because I offset my UV in different tiles. and I occasionally find your post here, it helps alot.
Sign In or Register to comment.