Home Technical Talk

Simple box normal mapping

null
Offline / Send Message
maxwood null
Hi all,

I've had a look through the forum but can't seem to find a solution to what I'm looking for, apologies I'm kind of new to this.

I've got a simple unwrapped box I've exported as my low poly object and then a higher poly box in the same position scaled up to cover the low poly version but with chamfered edges.

I've imported them both into xNormal using "add meshes" and otherwise default settings.

I've then imported the low poly mesh into Marmoset (v2 trial version if that makes any difference?) but it's still showing hard edges. I've attached a screenshot from Marmoset and my normal map.

Any ideas? Is this how it should look?!

ekSLBWC.jpg
Sfsf5n6.jpg


I appreciate the help.

Thanks,


Max

Replies

  • Bartalon
    Offline / Send Message
    Bartalon polycounter lvl 12
    If you select your mesh object, on the left toolbar under "Mesh" there is a Tangent Space setting. Switch that to whatever you used to bake your normals.
  • maxwood
    Offline / Send Message
    maxwood null
    Bartalon wrote: »
    If you select your mesh object, on the left toolbar under "Mesh" there is a Tangent Space setting. Switch that to whatever you used to bake your normals.

    Thanks for the quick reply :)

    I tried this last night when playing around with the settings but it didn't make any difference. I'll try again when I'm home but was the rest of my process correct?
  • Bartalon
    Offline / Send Message
    Bartalon polycounter lvl 12
    Yeah the rest of your process seems fine. You didn't mention using a cage but the object is simple enough to probably not need one. The only other thing I can think of would be your HP had a hard edge which would bake into the normal map or your smoothing groups somehow got jacked up on your LP. Are your UV islands assigned to their own smoothing groups?
  • EarthQuake
    If your mesh has hard edges (looks like it does), you need to set up a cage in XN or import a cage, otherwise you will get gaps/seams along the hard edges from missed rays.

    Tangent space won't have any effect here as the faces all have hardened normals/single smoothing group per face.
  • Vailias
    Offline / Send Message
    Vailias polycounter lvl 18
    Few things that might be affecting it:
    1: Every single edge on that box has a hard split. I can see it in your UV layout. There's only so much normal mapping can do to alleviate that.
    It also looks like due to having those splits the vertex normals at the corners on the low poly are likely not lined up, so the smoothing cannot visually continue even with the mapping.

    2: your edge padding on the normal map is pretty high, so some normal data from nearby faces might be getting pulled in close to the edges, not too sure.

    and 3: the real thing of it is that your LP box is just plain to sharp to really benefit from the smoothness of the normal map. If you chamfer the edges of the lp box, re-unwrap with as few splits as possible, then rebake you'll see a huge improvement.
  • EarthQuake
    Vailias wrote: »
    Few things that might be affecting it:
    1: Every single edge on that box has a hard split. I can see it in your UV layout. There's only so much normal mapping can do to alleviate that.
    It also looks like due to having those splits the vertex normals at the corners on the low poly are likely not lined up, so the smoothing cannot visually continue even with the mapping.

    Generally, hard edges are helpful (as long as they share uv borders) and mean the normal map has less work to do, not more. As long as your cage is averaged, having hard edges will virtually always be a benefit, not a hindrance. More here: http://www.polycount.com/forum/forumdisplay.php?f=43
    2: your edge padding on the normal map is pretty high, so some normal data from nearby faces might be getting pulled in close to the edges, not too sure.

    Too much padding isn't a thing, the padding will stop in the middle when it hits the other padding, and will never spill over onto your actual uv elements.
    and 3: the real thing of it is that your LP box is just plain to sharp to really benefit from the smoothness of the normal map. If you chamfer the edges of the lp box, re-unwrap with as few splits as possible, then rebake you'll see a huge improvement.

    Bevels may improve the look of the model, but only because the silhouette will change, not any of the other reasons you've mentioned.
  • Mik2121
    Offline / Send Message
    Mik2121 polycounter lvl 9
    Yeah, I just tried making a normal box and a rounded box and baking the normals in xNormal with the default settings. You still get the edges, so either you make a cage within xNormal or another software, or bake in another software where, either way, you will need to get a cage to push it just slightly.

    Here's the result I got with a simple box and everything baked within 3DSMax, with the default Marmoset normal settings.

    KbidSwt.png
  • maxwood
    Offline / Send Message
    maxwood null
    Wow, thanks for all the feedback.

    I checked Use Cage in xNormal and managed to get a good result, I also did a bake in 3DS Max and extended the cage out slightly and got the correct result.

    Some of what you said was a little over my head, UV islands, hard splits, vertex normals (?!) :) but seems like this was a valuable lesson. I will watch the video and read your post again in the "You're making me hard" thread, EarthQuake. Thanks.
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    I've got a simple unwrapped box I've exported as my low poly object and then a higher poly box in the same position scaled up to cover the low poly version but with chamfered edges.

    I don't see it mentioned so I'll address it. Your low poly and high poly need to share the same exact space. One should not be larger then the other.
  • EarthQuake
    Quack! wrote: »
    I don't see it mentioned so I'll address it. Your low poly and high poly need to share the same exact space. One should not be larger then the other.

    Ah yeah, good catch. This is very true, you always want to match at closely as possible, not really have the high or low be significantly bigger.

    With more complex meshes you'll run into problems if one mesh is significantly bigger or smaller than the other.
Sign In or Register to comment.