Home Technical Talk

testing Xnormal and Substance painter, baking normal map

polycounter lvl 8
Offline / Send Message
Klo Works polycounter lvl 8
Hi,
I now understand about the mikkt and you can work with one smoothing group or different smoothing depend on uv island etc...

I test out this object for baking to see the result 



here the Xnormal result with 2048 and 256 :   



in xnormal show some shading effect small amount in 2048 but noticeable in 256 

here in Substance painter : 



even with 256 the result good .

so I was wondering can Xnormal bake good result as S painter ? did I miss something for xnormal ?

Replies

  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    Can you post the normal maps for each bake? It's better to not use one smoothing group, because even with a sync workflow, after compression you'll get more artifacts trying to use one smoothing group. 
  • Klo Works
    Options
    Offline / Send Message
    Klo Works polycounter lvl 8
    ZacD said:
    Can you post the normal maps for each bake? It's better to not use one smoothing group, because even with a sync workflow, after compression you'll get more artifacts trying to use one smoothing group. 
    I upload it.
    test = object hi+low+cage
    xn = normal map
    sub = substance Painter 
    I read Earthquick topic about normal map still 1 smoothing group give you good result but doing "B: Hard edges at uv seams, "Averaged projection mesh" will give you better .

    but  when I bake in S painter it was really good result even with small size of normal map
    so now Iam wondering is 1 smoothing group are ok or not ?
    is it need balance like not to add too much hard edge and not making just 1 smoothing group  
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range

    Synced baking is perfectly fine provided the end result after compression looks good.

    The only way to know is to take it into an engine like UE4 and test it yourself.

  • Bartalon
    Options
    Offline / Send Message
    Bartalon polycounter lvl 12
    If you have any 90 degree corners then they should be hard edged.  This also means you will need to split your UVs at these areas and move them away from each other in UV space.  Next, set each UV island to its own smoothing group.  Then watch xNormal bake a perfect normal map.

    Just to expand on what ZacD said: setting your entire mesh to a single smoothing group does not make your model any more efficient than setting each UV shell to its own smoothing group.  It actually makes it worse because any weird shading artifacts you see on your low poly will have to be baked straight into your normal map to compensate (you can see this happening in your own screen shots).  As explained in EQ's post, this may look decent up close at mip 0, but the flaws are still apparent and will get even worse as you get further away or when you down-res the textures on export.

    If you're using a cage then there's really no reason not to set all your UV islands to their own smoothing group.  It's not a mandatory "rule", but it's going to eliminate a lot of headache in the long run.

    On a side note, I would give that cylinder hole more edges in your low poly if you want the information to show up there more accurately.  Right now there's just not enough sides to the hole to match up with the high poly, and your cage actually doesn't go far enough out to capture the details.
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    Here's a quick test I did using a single smoothing group synced workflow between SP and UE4
    Bartalon is correct, the smoothing artifacts will be visible on your normal map but this doesn't matter in
    a synced workflow as both SP and UE4 are calculating the tangents/bi-normals in an identical manner(mikkt)
    NM is 16bit converted to 8bit, default normal compression in UE4.







  • Klo Works
    Options
    Offline / Send Message
    Klo Works polycounter lvl 8
    so just to make sure , this method I apply it with MikktSpace Sync like unreal engine.
    - applying 1 smoothing group depends on the engine if support the mikktSpace. but if I am baking it from 3dsmax I need to use the old way split the 90 degree etc...
    - its ok to use different smoothing group or 1 smoothing group when dealing with mikkt.
    -so as my workflow 
    I will bake it from S painter with 1 smoothing group.


     Bartalon said:
    If you have any 90 degree corners then they should be hard edged.  This also means you will need to split your UVs at these areas and move them away from each other in UV space.  Next, set each UV island to its own smoothing group.  Then watch xNormal bake a perfect normal map.

    this method I apply it if the engine not sync with mikktspace right ? or if Iam  baking it in  3dsmax.


    Bartalon said:
    Just to expand on what ZacD said: setting your entire mesh to a single smoothing group does not make your model any more efficient than setting each UV shell to its own smoothing group.  It actually makes it worse because any weird shading artifacts you see on your low poly will have to be baked straight into your normal map to compensate (you can see this happening in your own screen shots).  As explained in EQ's post, this may look decent up close at mip 0, but the flaws are still apparent and will get even worse as you get further away or when you down-res the textures on export.

    If you're using a cage then there's really no reason not to set all your UV islands to their own smoothing group.  It's not a mandatory "rule", but it's going to eliminate a lot of headache in the long run.

    On a side note, I would give that cylinder hole more edges in your low poly if you want the information to show up there more accurately.  Right now there's just not enough sides to the hole to match up with the high poly, and your cage actually doesn't go far enough out to capture the details.
    yeah, so if  I am going to use normal map then I can use 1 smoothing group, if prop or wall not going to have baking then I need to use different smoothing group.
    for cage I use it for any object to bake, is there situation I don't use cage ?


  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    Basically it's up to you which method to use:

    1 - Single smoothing grouped synced tangent basis(smoothing splits on uv island borders are optional) This method can obviously only be used if both the   baker and output destination use the same tangent basis - i.e: Mikktspace. As there is only a single smoothing group you can avoid missed rays with a non-cage(ray-casting distance) bake. Extra geo isn't needed in a lot of cases to avoid missed rays.

    2 - UV/SG splits - anywhere you have a change in smoothing groups you will need a UV split. Also, due to the many breaks in SG you will generally want to use a cage or extra geo.

    Both of these methods are perfectly viable and will work, provided all the necessary steps are taken for each process. Synced is a more modern approach and avoids some of the hacks developed from the older non-synced method. So it's really up to you which you want to use. It's good to understand both methods so that from project to project you can decide which is more suitable.

    My final piece of advice: read all the stickies on this forum and...............TEST BAKE!!! :smile: 
Sign In or Register to comment.