Home Technical Talk

Need help: Baking artifacts along UV seams on curved edge

Hello everyone.

I'm Alex. I'm currently working my way through the process of High poly / Low poly game asset creation trying to understand the correct workflow.
I'm doing my best to google everything I can but I need some insight.

I have an issue where I get artifacts along a UV seam following long curved edge.
They happen on the normals and are especially bad on curvature bakes.

You can see the bottom edge of the rubber seal which is entirely on the bottom UV island bakes perfectly well (green arrows).
The upper edge which lies right on the UV seam gets little distortions (red arrows) everytime it crosses the UV border.


What's the correct way to handle something like this?
I already added more subdivisions along the curve which made the distortions smaller but also created more of them.

I'm modeling in Maya, baking in Marmoset and trying to texture in Substance.
But the artifacts get really bad when I try to work in Substance and use the curvature for masking.

There are no hard edges at the moment.

I'm new to the workflow and willing to learn. Any input is appreciated.

Thanks

Replies

  • Kligan
    Options
    Offline / Send Message
    Kligan polycounter lvl 6
    That's not really an artefact. That's just what you get when projecting normals on a lowpoly mesh.
    If you want your round edges to be more precise, you have to increase the number of edge loops on your cylinder or whatever, to more closely match the curvature of highpoly. The lower the amount of edge loops, the worse the distortions will get.
    That's just a balancing act - you have to decide how much polygons you want from your lowpoly, from which distance it's gonna be viewed, how noticeable those distortions will be from an optimal viewing distance, etc.

    Also, as a rule of thumb - it's better to have hard edges at the borders of UV shells to avoid further distortions.
    To quickly achieve that, you can select your lowpoly, then go to "edge" component selection mode. Then in the UV editor menu "Select - Texture border". This will select all the edges at the borders of UV shells. Go back to viewport with the edges selected, hold shift and right click, then "Soften/Harden Edges - Harden Edges". And the last step, hold shift and rectangle select over your lowpoly, to select all the opposite edges, and "Soften/Harden Edges - Soften Edge".
    That way all your border edges will be hard and all the others - soft.
    You can also toggle soft edge display to see if everything is correct.  
  • MrDibbler
    Options
    Offline / Send Message
    Well, thank you first of all.

    I understand that a low poly bake down will never be perfect, yet I'm wondering about the correct approach.
    Putting the UV border where two materials meet feels like the obvious thing to do, but if I split that beveled edge down the middle and attached half of it to the upper part and half of it to the lower part I might get a smoother result on the normals. This feels like an incorrect workflow though.

    Here's a result from the headlight where I split the UVs by material. Glass in the middle, chrome around the edge.
    The issue is even more dramatic here, is this again only solved by higher geometry? Or should I try and combine the UV islands to reduce the amount of border edges?
    The curvature map shows the issue more clearly. This map becomes basically unusable when processed in Substance, so I'm wondering how I can improve my results.



  • Eric Chadwick
  • MrDibbler
    Options
    Offline / Send Message
    Yes, thank you.

    I have found that thread in the meantime and have read much of it.

    I was able to solve most of the problem.
    I ended up moving the edge loop slightly away from the geo border so it doesn constantly cross back and forth, I reduced some hard angles and added some loops. 

    Thank you very much for the help. It is difficult sometimes to find the right solution if you don't quite understand what you're looking for.


Sign In or Register to comment.