Home Technical Talk

Baking Normal Maps of an Angle?

Hi,

I have a furniture piece and I'm trying to bake high poly to low poly.

The issue I've been getting is that there is the seams of low poly being kept too visible in the baked normal map.





The images are my high poly/low poly/low poly with baked normal map.
(The image texture in the last screenshot is set to sRGB, I'm aware of it, I was just trying to tweak every single settings.)

I've tried baking it in blender/substance painter but none of them comes out with my desired normal map.

I've tried almost every method that comes up on google, but even considering that it's a quite harsh angle, I see why it would not work since I see so many tutorials baking a cube.

◇ the high/low poly is in one smoothing group each
◇ UV seams are marked where the angle changes
◇ UV islands have enough padding
◇ all objects are in the same scale of 1
◇ caging doesn't work either
◇ different ray distances in blender/substance painter don't work
◇ beveling low poly edges didn't work

And I have experiences of baking nice smooth edges onto low polys, so I'm just very lost at this stage.

Any idea about what I might be missing here?
I have many furniture pieces to bake, so any help would be appreciated.

Thanks!


Replies

  • Kanni3d
    Options
    Offline / Send Message
    Kanni3d ngon master
    Seeing your actual lowpoly edges with a baked normal map applied is expected - as it's a limitation of baked normal maps, as the "illusion" can hold hold up for so much distance. This can be solved with chamfering your super hard 90 degree edges, or maybe even higher resolution bakes, but this all comes down to how important, large, and visible this asset is.

    The larger issue that can help, but should be addressed regardless, is that your low res mesh is completely smoothed/soft edges/one smoothing group. Apply hard edges at the 90 degree bends, split them off into separate UVs, and rebake. You'll notice the gradient's are completely gone (ideal).
  • gnoop
    Options
    Offline / Send Message
    gnoop sublime tool
     I can add to what Kanni3d said  a few things.  You don't always have to waste your time  for hi-poly ,    Such a thing like that seam could be perfectly done in any image editing  soft only    and the  corners rounding  could be baked through bevel shader in Blender  or rounding  in Arnold without  hi poly too .       My advice don't turn  normal map baking into a sport for perfection  , use  easiest way where possible .
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Kanni3d said:

    The larger issue that can help, but should be addressed regardless, is that your low res mesh is completely smoothed/soft edges/one smoothing group. Apply hard edges at the 90 degree bends, split them off into separate UVs, and rebake. You'll notice the gradient's are completely gone (ideal).
    Gradients aren't bad if you have your model setup properly so it still looks good. Having lots of UV splits costs extra memory - which is bad. Although this example is a pretty simple model. 
  • Kanni3d
    Options
    Offline / Send Message
    Kanni3d ngon master
    That's fine if this is just a portfolio asset that doesn't require lods, but in production, gradients are not really ideal. Maybe even true for just LOD0, but for any other LODs, gradients will break the model since shading will change as you LOD. It just really isn't a great practice.
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    Gradients provoke compression artefacts too. 

    Hardening the edges will make the artefacting less aggressive in this case anyways. There's not enough geometry for fully averaged normals
  • LatteIsHorse
    Options
    Offline / Send Message
    Thank you guys for all your great suggestions and advice, all of them are very helpful.

    I've tried each of the solutions that Kanni3d said:
    Seeing your actual lowpoly edges with a baked normal map applied is expected - as it's a limitation of baked normal maps, as the "illusion" can hold hold up for so much distance. This can be solved with chamfering your super hard 90 degree edges, or maybe even higher resolution bakes, but this all comes down to how important, large, and visible this asset is.

    The larger issue that can help, but should be addressed regardless, is that your low res mesh is completely smoothed/soft edges/one smoothing group. Apply hard edges at the 90 degree bends, split them off into separate UVs, and rebake. You'll notice the gradient's are completely gone (ideal).

    The only thing that worked is to chamfer the edges and rounding the harsh edges.
    I don't know if it is normal but none of the other options seemed to work.
    Would chamfering the edges be normally be a solution in this kind of issue?

    I think I was trying too hard to keep the low res mesh as low as possible since I've seen many other works that seem to manage to bake the rounded edges onto a cube.
    So, I assume it really depends on what you aim for for each asset in each project, of course, and no one solution.

    gnoop said:
     I can add to what Kanni3d said  a few things.  You don't always have to waste your time  for hi-poly ,    Such a thing like that seam could be perfectly done in any image editing  soft only    and the  corners rounding  could be baked through bevel shader in Blender  or rounding  in Arnold without  hi poly too .       My advice don't turn  normal map baking into a sport for perfection  , use  easiest way where possible .

    And this makes sense too, that's good to know. I was practicing to bake stuff but I feel like I should focus more of the entire workflow.

    Thank you all!
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Kanni3d said:
    That's fine if this is just a portfolio asset that doesn't require lods, but in production, gradients are not really ideal. Maybe even true for just LOD0, but for any other LODs, gradients will break the model since shading will change as you LOD. It just really isn't a great practice.
    Well in production I would avoid making a uniquely unwrapped and uniquely baked model for something this simple. 

    I would make a texture strip that represents "wood panels" and construct this out of that. That would make the UV layout way more efficient and it speeds up any future tasks as you can re-use the texture. 
Sign In or Register to comment.