Home Technical Talk

Making sense of hard edges, uvs, normal maps and vertex counts

Replies

  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    So, after LOTS of trial and error, this is the best I could get, which is still pretty bad and plenty of artifacts and shadows :confounded: 


    1. Red Square -> Im having a seam cut in the normal map where the seam end is, don't really know how to solve it, since it's just a simple seam in a cylindrical pattern, that I then straightened. Maybe xNormal -> Toolbag2 shading problem?
    2. Red wobbly patterns -> Tons of shadows and weird gradients appearing all over the bake, should I worry about them? Will they just be unnoticeable when textured?.
    3. Red Triangle -> I was getting a lot of artifacts in the central circle, I had to add an outer loop to keep the shading erros from going to the middle vertex. It should be really easy to fix it in photoshop, but I should know how to properly bake without having to photoshopfix later.


    What would be your approach on unwrapping this, EQ? Hardsurface unwrapping drives me nuts, and I really want to fully understand the perfect unwrapping/baking process!.

  • Joopson
    Offline / Send Message
    Joopson quad damage
    Soldeus said:
    So, after LOTS of trial and error, this is the best I could get, which is still pretty bad and plenty of artifacts and shadows :confounded: 
    A few questions:
    Are you using a cage, and are the cage's normals soft (or, in max, are they one smoothing group?)
    Does the low have hard edges around UV borders?
    Are you baking your normal map as Y+ or Y-? And are you viewing with the same settings?
    Does the UV map have splits on edges with ~80 degree or higher corners?

    There's a lot wrong with the normal map as it is now, and it's all related to the process. So the more information you can give us, the better.

    Uploading the high/low/cage would probably be the quickest way, if you can!
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Yes, I am using a cage, just double-checked and I'm indeed exporting with 1 single smoothing group in the whole cage.
    My low poly has differente smoothing groups on each shell, in fact, I tried:
    1. No hard edges
    2. Hard edges on EACH shell
    3. Hard edges on 80~ degree edges, and same smoothing group(even if different uv shell) on some shells.


    I tried both, baked on Y+ and Y-, and double checked the "Flip Y" checkbox in marmoset to try both, still same artifacts. So I do think I'm using same settings(I may be wrong, but I don't think it's the case :neutral: )

    I'm exporting Highpoly as an .obj, no smoothing/uv. Lowpoly with Smoothing Groups / UV, and Cage with SmoothingGroups. Then import everything on xNormal, and bake on Y+, 2k*2k, 32 Edge Padding and 4xAA.

    In marmoset I'm just using an standard material with normal map imported and applied.

    And yeah, sure!, here are HP/LP/Cage, UVMap isn't packed or anything, just randomly thrown in to the UV Space. I made some more trys without any improvement. The .rar below has the exact same .obj's used in the picture above!.

    Really thankful for the help, I really want to find the problem in my workflow so I can keep improving!



  • ZacD
    Offline / Send Message
    ZacD ngon master
    You can get good results with one UV island.


  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Woah, what kind of sorcery is that. Are you using one smoothing group for everything? Or did you keep the smoothing groups even without making different shells?
  • ZacD
    Offline / Send Message
    ZacD ngon master
    There's just one smoothing group, if you have hard edges or multiple smoothing groups, you need UV seams.
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    NOW I'm lost :confounded: tried what you did. 1 UV Island(Thrown in to UVLayout, relax everything, looks just as yours), 1 Smoothing group in both lowpoly and cage. But errors keep showing :cry: 




    This are the cage and the lowpoly .obj export options.
     

  • ZacD
    Offline / Send Message
    ZacD ngon master
    My first guess would be the normal map y (or green) channel is inverted. What application are you baking in? And what application are you using to display the model?
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    I'm using xNormal to bake, Y-, and Marmoset Toolbag 2 to display, it looks wrong either way, even when checking the "Flip Y checkbox". Those "triangle-shadows" keep showing every time. Which is weird, because normal map looks correct.

  • ZacD
    Offline / Send Message
    ZacD ngon master
    Weird, because I used xNormal to bake and am using Marmoset 2 as well. Your normal map looks pretty different than mine. Maybe you need to reset the smoothing on your low poly? Also try trianglating your mesh before exporting/baking. 
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    FOUND THE PROBLEM(Sorry double post).


    The damn problem was on the lowpoly/cage export. Switching to FBX instead of .obj fixed it. I'm glad it wasn't all my fault hahaha. Still some minor artifacts, but those are my own errors and I know how to fix them haha. Back to the Hard Edge/UV Shell thing I was trying since the beginning.

    THANKS EVERYONE!! :D
  • ZacD
    Offline / Send Message
    ZacD ngon master
    I forgot to mention, I always use FBX, that might have helped. I like to try to remove as many variables as possible when trouble shooting, so I often just use one smoothing group and a simple UV map when trying to figure out issues like this. 
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Yeah, I noticed that the lowpoly was already having those weird shadows even without the normal map applied. Et voilá. Guess I should start using .fbx only from now on, seems like a more solid format. Thanks again, I can keep working now ^^.

    Edit: Tried using hard edges on UV Splits, to try and understand the technique shown in this thread, and it baked flawlessly, 0 artifacts. Even with a messy unwrap, again, I can't thank enough you guys :)
  • EarthQuake
    Cool. Make sure to try it in your final engine too, if that's Unreal or Unity or whatever, you might not be able to get away with zero hard edges, but you shouldn't need as many as in your color coded image. Really depends on where you're baking and what the end result is and if both apps use the same tangent space. Marmost Toolbag supports multiple tangent spaces so that makes it easier to get good results but not all engines do.
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    I'm planning on building the environment in UE4, I'm going to work today on properly unwrapping and baking the whole piece, using hard edges but not overdoing it. I'll surely post some bakes in here when done :D. (If I manage to!)
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Here is the final bake, screenshot taken from marmoset. I think it's probably the best bake I've ever done(I've always had waviness, artifacts etc that I had to fix in photoshop because I didn't know how to properly bake and unwrap).

    So, thanks again, can't say enough how thankful I am, this is a matter that struggled me for SO long!.



    Going to give a try on Substance Painter now and give some painted detail to this beauty ^^.
  • _SoriN_
    Can anyone help me ?  The seams pop-up when i apply the normal map  and i can't figure out why ....
    This is a picture without normal map :
    http://prntscr.com/ailiuh

    And this is a picture with normal map :
    http://prntscr.com/ailjjg
    Why does this seam appear when i apply the normal map ? And it's not visible when i apply just the diffuse map.
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Are you overlapping UV's to save UV Space with symmetry? Looks like the bottom normal map is inverted, and that's why the seam is noticeable. 

    An screenshot of your UV's would be helpful!
  • _SoriN_
    This is the Uv Layout made by me :
    https://s30.postimg.org/7uk459c7l/Uv_02.jpg

    And this is the Uv Layout made with 3D Coat :
    https://s13.postimg.org/3yq664zsn/Uv_01.jpg

    With both uv's the seams are noticeable.
  • Joopson
    Offline / Send Message
    Joopson quad damage
    Try inverting the green channel, perhaps?
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Make sure your UV's direction are not inverted as well. Try selecting the bottom half UV's and flipping them.(Also, try what Joopson suggested!)
  • _SoriN_
    This is how it looks when i invert the green channel , it's a bit less visible but it's still there :
    http://prntscr.com/aimudc
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Can you share normal map and .obj file? I can't really notice the seam in the normal map. If you mean the seam on the right of the picture, I believe it's a texturing error either than a seam error. Maybe you textured it way too close to the UV, so the background is bleeding on the texture.
  • _SoriN_
    Yeah , sure. This is the low poly + normal map Uv Unwrapped in 3D coat. Use a blank color and you'll see it better.

  • Joopson
    Offline / Send Message
    Joopson quad damage
    I concur. Doesn't look like an issue with the normals.

    Edit: Just opened it. The normals look really nice and clean.
  • Soldeus
    Offline / Send Message
    Soldeus polycounter lvl 10
    Indeed, normals are nice and crisp. By inverting the Y channel I can replicate the problem you had, so that was definetely the problem. The seam you are seeing now in the right of your image, it's 99% sure a diffuse problem, not a UV problem. Make sure you paint your UV's atleast 8-10 Pixels extra out of the actual UV Shell. 

    If you try to be too precise, texture will bleed, and you will see background coming through the texture!.


  • _SoriN_
    Now i have another problem , why there are hard edges here when it should be nice and smooth ?
    http://prntscr.com/ainxak

    Could the smoothing groups be the problem ? I think i messed it up with them :)
  • Klo Works
    Offline / Send Message
    Klo Works polycounter lvl 9


    in this prop I didn't attach the uv as you can see in first image but when I bake I got these seam. 
    do I must attach the uv to rip off the seam or is there another way ?

  • Mathwel
    Offline / Send Message
    Mathwel polycounter lvl 4
    Hi!, i have been pulling my hair off, since i dont know if im doing the normals the right way...
    i'm using blender and xnormal to make my normal maps.
    xnormal 2048x2048, 4aa, 16padding with a cage.
    blender exporting as obj only for testing purposes, im getting the same results with fbx.

    well here is a screen of a simple cube in blender, it has Sharp Edges and seams(splits) in every edge (autosmooth 180: on). 
    from far away it looks close to the highpoly, but if i get closer i can se the edge is still visible, im guessing its because the Sharp Edge?(Hard Edge, different Smooth Group), since if i smooth the entire mesh and dont use any sharp edge or seam it gets harder to see that edge, but the shading its ruined.
    also in unreal it doesnt look that well, again from far away it looks similar to the highpoly but from close the edge is way more visible...
    this is how is supposed to be? i mean i guess since im using a really basic geometry the edge will be visible.
    I'm really bashing my head since i don't know if im doing the normal maps right or not. also using bevels makes it way more dificult to spot those edges but it also uses way more vertices.
    so yet again, its inevitable to see those edge/seams or im doing something wrong?
    here are the screens, hopefully i could get some help.




  • ActionDawg
    Offline / Send Message
    ActionDawg greentooth
    Ultimately you are truncating floating point normal data into 8 bit per channel color, ending up with integers stored in less than 24 bits per pixel (as not every color is a possible normal). Another issue is that interpolated values between pixels in the normal map will not always match what you think the absolute correct normal for that pixel onscreen should be. Texel density makes that an even bigger issue because you have less data overall and thuss less data to interpolate between.

    There isn't much to do to get it absolutely pixel perfect other than using 16 bit (floating point) normals + good texture resolutions. Don't sweat it over something so minor.
  • EarthQuake
    In other words, zoom the hell out! You would never get this close to that edge in game, and if you did/this was a really big object, you would be better off using actual geometry to bevel the edge.
  • Mathwel
    Offline / Send Message
    Mathwel polycounter lvl 4
    so this is normal right?, i mean this is the best u can get with this low geometry?
    also kinda out of context maybe, but  in the case of a bevel cube where you mark the seams/hard edges? (mine always look meh...)
    (also considering a bevel with triangles in the corners of the bevel/chamfer)
  • ZacD
    Offline / Send Message
    ZacD ngon master
    A cube is a kinda worse case scenario and the results are fine until you zoom in super close. Any part of the model that can get away with being a cube or have 90° angles isn't going to be looked super zoomed in. Also with textures those issues are even less noticeable.
  • Mathwel
    Offline / Send Message
    Mathwel polycounter lvl 4
    thanks, guess im just beign too obsessive
  • TocaFita
    i'm getting this problem in my normal map, any advice to fix?
    http://i.imgur.com/YBrt6tf.png
    All Hard Edges is selected
  • Joopson
    Offline / Send Message
    Joopson quad damage
    It almost looks like you aren't baking with a cage; or if you are, the cage isn't all soft-edges.
  • TocaFita
    I manage to fix, i think is a bug with the new baking Tool for modo 10, where is the Baking Wizard, I bake using old method (from modo 801-901) and worked with no problem :smile:
    Topic talking about the Baking Wizard Bug: http://community.thefoundry.co.uk/discussion/topic.aspx?f=32&t=121675






  • Yondr
    Offline / Send Message
    Yondr polycounter lvl 8
    Hi! 

    Time-to-time i caught artifacts like this. Polygon with baked normal map shade crossing edges inside (while there is only one, sure).
    I have no idea why it's happens and usually simply recreate affected polys. 

    So it's not big deal but i'll be glad figure out what can be a reason to understand clearly how things work. Tnx!



  • ZacD
    Offline / Send Message
    ZacD ngon master
    Most likely it's triangulation. Triangulate before you bake. And make sure it's the mirrored parts matches up.
  • martygalinskas3d
    Offline / Send Message
    martygalinskas3d polycounter lvl 4
    i'm having a weird issue, i've been baking this modular level i made and it's been going fantastic. I have hard edges on UV seams that need them and all my normals look great. now i got to another piece and i'm getting seams on the edges that are hardened. (maya 2016 baking with xnormal) i can't figure out why i'm having this issue on this one piece and not any other pieces. i'm doing everything exactly the same as all the other parts. any ideas it's starting to really piss me off lol. 

    Edit: i figured out the issue, for some reason i have to soften the edges on some borders, i'm not getting any artifacts or bad shading still so i'm happy with the results.
  • Vauun
    Offline / Send Message
    Vauun vertex
    This blew my mind thanks! for the vid
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Yondr said:
    Hi! 

    Time-to-time i caught artifacts like this. Polygon with baked normal map shade crossing edges inside (while there is only one, sure).
    I have no idea why it's happens and usually simply recreate affected polys. 

    So it's not big deal but i'll be glad figure out what can be a reason to understand clearly how things work. Tnx!



    "X" shaped normal map errors are because you changed your low polys triangulation from when you baked to when you brought it in engine.  Non-destructively force triangulation on your model before you bake and keep that triangulation until the object is in game.
  • elkeschwarzer81
  • 1813
    Offline / Send Message
    1813 vertex
    Those marks that aren't nice looking when wire frame are turn off.



    How do i get rid of them? Here's the maya file.

  • Yury
    Offline / Send Message
    Yury polycounter lvl 8
    1813 said:
    Those marks that aren't nice looking when wire frame are turn off.





  • 1813
    Offline / Send Message
    1813 vertex
    Why tri's? I rarely use them like at all.
  • Yury
    Offline / Send Message
    Yury polycounter lvl 8
    It is perfectly fine to use tris for low poly models. In fact every mesh in game engines is triangulated anyway. I don't know about maya but in max there is even an option to show a hidden edge that splits the quad into two triangles.
    In your case, there is a hidden edge that runs from the lover vertex that I marked "X" towards the vertex on the right. This creates a long thin triangle that causes that nasty gradient shading. Simple rule is to avoid such triangles especially on curved surfaces.
  • rosenand
    Offline / Send Message
    rosenand vertex
    Hello. I initially started creating this to improve the 3D workflow at our studio, but I tried to make it in a way that more people could make use of it. It's a little guide (mostly pics) showing how to avoid nasty seams on objects. What do you think? https://drive.google.com/file/d/0B4fF3n_iAIWibFlPUkNUajVzSnM/view?usp=sharing
  • Charlypop
    Offline / Send Message
    Charlypop polycounter lvl 2
    Hi guys so I baked a high poly cube on a low poly just to test some stuff. The normal itself looks great on the edges but htere is some sort of artifacts all over the mesh. Any idea what could it be ?  Thanks in advance :)
  • Yury
    Offline / Send Message
    Yury polycounter lvl 8
    Charlypop said:
    Hi guys so I baked a high poly cube on a low poly just to test some stuff. The normal itself looks great on the edges but htere is some sort of artifacts all over the mesh. Any idea what could it be ?  Thanks in advance :)
    As far as I know this is a texture compression artifacts. I think you can minimize it by baking 16 bit texture. Check this great thread, it goes into a lot of details about normal map compression http://polycount.com/discussion/148303/of-bit-depths-banding-and-normal-maps/p1
Sign In or Register to comment.