Home Technical Talk

How to reduce normal map baking artifacts caused by low/high poly mismatch?

I’m using a Blender + Substance Painter pipeline (baking and texturing) with a low-to-high workflow: first a low-poly model, then geometry refinement, bevels, and subdivision. Since I’ve only just started learning, I ran into a problem on the simplest possible model: a cylinder. I made a basic 20-sided cylinder (0.6 m in diameter) and a high-poly version of it by adding bevels and subdivision.


When I try to bake the normal map, I get artifacts caused by a mismatch between the high-poly and low-poly models. Because the meshes diverge, the angles smooth out worse than they could.

Even though this only shows up on glossy surfaces, which I’m not planning to use, I’d still like to understand what approaches exist for solving this kind of problem and how closer mesh correspondence can be achieved. I don’t want to go with an “eh, good enough” approach, even if nobody but me will ever notice.

I found an example of what I’m aiming for: https://sketchfab.com/3d-models/curvedelements-nm-test-f2bdc226edf441609a67d82fb1a8e6c6

But I can’t get any further than LP 01 RESD. I don’t understand what repurposed normals and matching curvature mean. Any result starting from 02 would be fine for me, but ideally I’d want something like LP 02 REMC RPNM. Or am I doing something fundamentally wrong? (The tutorials I watched did not cover cases like this.)

P.S. I hope mentioning Substance Painter doesn’t make this post off-topic. I’d rather not cross-post if I can get answers here.

Replies

  • Eric Chadwick
  • Benjammin
  • maaboo
    Thanks for the reply, yes, I've read this several times. Unfortunately, it is still unclear what exactly needs to be done. Perhaps this is one of those cases where the answer is right in front of me, yet I still cannot see it at all.
  • Thanez
    Online / Send Message
    Thanez interpolator
    Oh, I remember having exactly these issues.
    I think you're ending up in this situation because you're starting with some arbitrary cylinder size, and an edge width plucked from the ether.
    Why is your cylinder 60cm in diameter? Why is it 20 sided? Why are the edges so sharp on such a large object?
    If you have answers to these questions before bake time, you won't end up in this situation.
    Model a lip-balm instead. Or a knife. Follow refs. Start with what you want to make and how big it should be. Then place it on your screen so it takes up as many pixels as you want it to. Then choose how many segments you want for the look/feel/job the model has to do.
    Then choose how wide you need those edges so they'll be captured by the lowpoly properly.
    This is a balancing act, something you need to practice.

    As for how to REMC:
    Take your highpoly, delete the CatmullandorClark, chamfer the edge a bunch.
    Now your highpoly and lowpoly are the same, except for that edge.
    If you didn't use support loops, use support loops. Or weigh the normals so they point straight out the cylinder like flag poles.
    Bake :)



  • maaboo
    @Thanez Thanks a lot. As for the cylinder and its dimension it's because it represents a real-world object: steel barrel. Actually, these artifacts shouldn't be visible at all, since the game (I’m making this prop for) uses a top-down camera.

    You can call me a perfectionist  (and that would be true) but if there is a correct way to do something (even one I may not know yet) and a “good enough” way, I will always choose the first, even if the second is faster and cheaper.

    Sorry if I caused any unnecessary fuss, but this is my first prop and it should be the best. I’ll use this as my starting point.
  • maaboo
    Not to be a lurking leecher, here is what I've got so far. I invested some more time (thanks to all, who replied, especially @FrankPolygon) and now I’m halfway to a complete solution.
    First of all, I found this topic on StackExchange. I created the same node, and closed that (ahem!)king gaps:

    I used completely identical cylinders and the only difference was subd. As you can see, the silhouette of the left is MUCH closer to the original shape (it also seems a bit cleaner) than one on the right. You don't see dark artifacts from the original post, because bevels here are too big to introduce them. But believe me, custom subd also fixes it (which is not surprising). So if another poor unlucky bastard like me ever comes along — well, not quite so unlucky, if they can at least be pointed to this thread. ;-)

    As for the second question, it is still a problem for now, but no longer quite as difficult. I connected the clue I was given in reply to the question I asked on StackExchange, namely — to bake the top face from the low-poly version — with a relevant post by @gnoop here, which says roughly the same thing.

    If someone could suggest a workflow for that, the topic would be fully resolved!
    P.S. Sorry for the bold style (if you see any), I don't know, what happened.

Sign In or Register to comment.