Home Technical Talk

Normal Map on Cylindrical objects

I am having the same issues over and over when I do normal maps on hard surface cylindrical shaped objects. I've been trying different solutions but nothing seems to fix it. Does anybody have any suggestions to fix some of these normal map problems? High Poly exported from Zbrush, Low poly and cage exported from 3ds max, normal map generated in xnormal as tangent space normals, rendered in marmoset toolbag.

Replies

  • EarthQuake
  • ZacD
    Offline / Send Message
    ZacD ngon master
    That thread is great. Here are the short answerers drawn from that thread.

    More edge around the cylinder will help a lot.
    You do have to model your high poly around your lowpoly limitations.
    Avoiding 90 degree angles can help make things easier, if it's possible.
    Adding an edge loop where something is wavy will help if it's occuring in the between edge loops.
    Less extreme angles and cuts will help.

    Also if you want to use handplane you can use that to add edge loops to help fix project errors, bake an object space normal map, remove edge loops, export low poly, and generate the tangent space normal map with those in handplane.
  • Chrishq17
    Thanks that helped, I made some changes to the 90 deg angles in the high poly and made changes to the low poly to match. Most of the problems are fixed but there are some errors around the inner lens that I'm not sure how to remove. I gave the low poly more edges but no luck.
  • ZacD
    Offline / Send Message
    ZacD ngon master
    Move the uv split so that front island part of the uv is just on the very end of the object, or add an extra edge loop on top of the waviness.
  • Chrishq17
    It worked thanks! I did both make the front it's own island which put some detail I was missing on the treads back in and I also put in an edge loop onto that front panel. Such simple fixes, I don't know why I didn't think of doing that. Now if only there were a magic way to half the tri count and not get those wavy errors on the edges. This lens is a focal point in the overall character so I guess I can spare the extra tris.

    I had to do two passes though, one for the sides and another for the flat lens then put them together in photoshop. Is there a way to not have to make two different cages or is it necessary for any cylindrical object with detail on the cap? Would the method to be to add edge loops really close to the ends so the cap's side of the cage can be pushed out straight?
  • ZacD
    Offline / Send Message
    ZacD ngon master
    The application handplane can do that if you add a loop and bake out and object space normal map, and then remove the edge before exporting the low poly. You can also play with hard edges and UV seams in order to have hard edges by where there is going to be distortion otherwise.
  • EarthQuake
    Zac I see you mentioning hard edges and uv seams here, if you're baking with a cage/averaged projection mesh (which you should!) your uvs and hard edges will have no effect on your projection.

    I think the issue on the front of the lens here could have been improved by removing that center vertex and replacing the triangle fan topology with quad strips.

    Also it seemed like when more geometry was added to the mesh the uvs were not updated, you should probably relax the uvs at that point.

    And just to say it again, you should not remove or edit your geometry after baking a tangent space map otherwise you will introduce smoothing errors. If you want to do that sort of thing you have to bake an object space map and convert it with Handplane as Zac suggests.
  • Chrishq17
    You're probably right earthquake, I made a lot of adjustments to the meshes quickly so I could test the results and I most likely forgot to smooth my unwrap after one or so of my changes.


    I am a little confused on how my smooth groups effect my normal map bakes. Just so I can get a firm understanding, should I put everything on 1 smooth group before baking then assign custom smoothing groups after? I tried that as well as assigning them before baking and also I tried leaving them on 1 smooth group and not assigning custom smoothing. I couldn't tell which result was the one I should use and there is a lot of conflicting opinions out there. Zac and EQ, what do you think?

    It seems like leaving it all on 1 smooth group gave the same results as putting in thought out custom smoothing groups before baking. At least in this test, should I not bother if I'm baking a high poly to the low poly?
  • EarthQuake
    Yeah, smoothing groups really have no effect on the projection (which is what causes the wavy articles), so you shouldn't see any difference between number 1 and 2 there as long as your bake is set up correctly.

    #2, setting your smoothing after you bake, is simply something you shouldn't do. The normal map is baked specifically to account for the mesh normals (smoothing) of your lowpoly, once you change that even a small amount you will get errors, so you need to rebake at that point, at least with tangent space maps.
  • FelixL
    Offline / Send Message
    FelixL polycounter lvl 9
    Hey Earthquake, any chance you can add the pictures back into the thread? I'm not seeing any in the OP.
Sign In or Register to comment.