Home Technical Talk

Understanding averaged normals and ray projection/Who put waviness in my normal map?

1567810

Replies

  • Rekov
    Offline / Send Message
    Rekov polycounter lvl 5
    Thank you very much, ZACD! This is exactly what I needed. I ended up having to split most of the model up into separate shading groups, but it ended up looking okay so I can live with that. Unfortunately I've upped my poly count from 124 to 272, but that's still so low that I'm sure it's fine.


  • 1813
    Offline / Send Message
    1813 vertex
    somedoggy said:
    I can't stress enough the fact that waviness is not incorrect. It is the natural result of correctly baked normals between two cylindrical objects with a non-equal # of sides. If you don't want it, just match the number of sides:


    Hey! Mate. You mind putting that file up. I'd like to compare some bake results and i can't really make out on your shape with that speculator.

    Also. Did you ever go ahead and write a tut? If you didn't that's fine I'd just get the mod to put theses files up as examples of tackling theses types of issues.

    They are great!

  • AFsoft
    Offline / Send Message
    AFsoft polycounter lvl 8

    hey guys. ive been searching on polycount about this problem and i noticed that there isnt a clear answer that what is the solution. 
    ive got this problems on all my models. would be nice if someone could give out a video tutorial about that(max if possible).
    thanks. 
    here are afew examples of my models:angry:
     : 

  • AFsoft
    Offline / Send Message
    AFsoft polycounter lvl 8
    so if we increase polycounts on cylander objects we can prevent it ? yes or no ?
  • Eric Chadwick
    Offline / Send Message
    Eric Chadwick grand marshal polycounter
    AFsoft said:
    so if we increase polycounts on cylander objects we can prevent it ? yes or no ?

    It's right there in the OP!
  • AFsoft
    Offline / Send Message
    AFsoft polycounter lvl 8
    AFsoft said:
    so if we increase polycounts on cylander objects we can prevent it ? yes or no ?

    It's right there in the OP!
    you could answer my question. i didnt get any thing from this thread. at least no straight answer.
  • Eric Chadwick
    Offline / Send Message
    Eric Chadwick grand marshal polycounter
    No straight answer? 
    http://polycount.com/discussion/comment/1288654/#Comment_1288654
    http://polycount.com/discussion/comment/1289327/#Comment_1289327

    Obviously you did not read the thread. The answer is more than a simple "add more geometry".
  • EarthQuake
    Yep, Eric is correct here. If you're looking for a yes/no answer, you're not going to find it. The point of this thread is that when you understand the concepts explained, you'll be able to answer the question yourself.
  • AFsoft
    Offline / Send Message
    AFsoft polycounter lvl 8
    thanks !
    i didnt see that. 
  • yukonwanderer
    Offline / Send Message
    yukonwanderer polygon
    So with no experience yet in trying to make a normal map or going through the whole process, what I'm getting from this thread is that basically if your low poly doesn't match the shape of the high (particularly with cylinders) you will get bad results. What I was able to glean from the conversation is that low poly cylinders should have the same or a decent amount of sides as the high poly.  I feel like I'm missing the point of this thread. 
  • ZacD
    Online / Send Message
    ZacD ngon master
    Having the same number isn't the only solution. Having a decent number of sides, at least 16 or 32 or avoiding 90 degree right angles if possible.
  • metalliandy
    Offline / Send Message
    metalliandy interpolator
    So with no experience yet in trying to make a normal map or going through the whole process, what I'm getting from this thread is that basically if your low poly doesn't match the shape of the high (particularly with cylinders) you will get bad results. What I was able to glean from the conversation is that low poly cylinders should have the same or a decent amount of sides as the high poly.  I feel like I'm missing the point of this thread. 
    Waviness isn't necessarily a bad thing. Essentially it's just the difference between the low poly and high poly, so the more sides you add to the low poly means you will get less of a difference and therefore less waviness. It should be noted that the problem is view dependent so fixing it isn't always needed.



    You essentially have 2 ways to resolve or reduce the issue:
    • Add more sides to the low poly so it more closely matches the high poly and live with the increased tricount of the low poly.
    • Add more sides to a copy of the low poly> Bake to Object Space> Convert the Object Space to Tangent Space using the original low poly mesh the target mesh (xNormal or Handplane can do this).

    I did a talk a few years ago at the Blender Conference on normal maps that goes over a bunch of stuff. Some of it Blender Specific but the vast majority is more generally related to common normal map theory.
    https://www.youtube.com/watch?v=OONQzKcWeMY
    You can download the slides HERE

  • yukonwanderer
    Offline / Send Message
    yukonwanderer polygon
    @metalliandy  that's a very informative/useful (and still a little over my head in parts) pdf.  Never heard of object space vs tangent space...will have to do some research.  What I meant by "bad" was undesired results, as the thread was pretty good at hammering home the fact that the process is delivering technically correct results based on the models it is provided, and that it's up to us to model for the good (or desired) result.
  • metalliandy
    Offline / Send Message
    metalliandy interpolator
    @metalliandy  that's a very informative/useful (and still a little over my head in parts) pdf.  Never heard of object space vs tangent space...will have to do some research.  What I meant by "bad" was undesired results, as the thread was pretty good at hammering home the fact that the process is delivering technically correct results based on the models it is provided, and that it's up to us to model for the good (or desired) result.
    Glad you liked it! :)
    Yes, that's very true. The result you get will always be only as good as the source meshes you feed the baker.

  • Bumblebee
    Offline / Send Message
    Bumblebee polycounter lvl 3
    hope its the right thread.

    Anyone knows why it looks squashed when mapped? Relaxing destroys it even more
  • Bruno Afonseca
    Bumblebee said:
    hope its the right thread.

    Anyone knows why it looks squashed when mapped? Relaxing destroys it even more

    Try getting rid of the internal edges on the central cylinder and relax. After UVing you can connect them again
  • Bumblebee
    Offline / Send Message
    Bumblebee polycounter lvl 3
    edit: figured it out too
  • instg8r
    Offline / Send Message
    instg8r polycounter lvl 8
    Hi all, this is something I've never quite totally understood and maybe someone can shed some light on it for me... I triangulate my low poly mesh that I will use for baking (typically by exporting a triangulated .fbx into something like HandPlane). The model that goes into the game is essentially the  same model, just not triangulated. Won't Max/Maya have it's own triangulation when I export the model (that could possibly be different than the model used for the bake) and then won't the game engine also do it's own calculation for triangulation as well? How do I know that the triangulation is remaining constant to match the what was baked with the normal map?
  • Farfarer
    You don't. You should always export the mesh used for baking and the mesh for the game engine as triangles.
    Generally, it's all round easier to just use the exact same exported file for both of those, so you know they're identical.
  • ActionDawg
    Offline / Send Message
    ActionDawg greentooth
    What Farfarer said. I usually keep a non-triangulated work mesh and duplicate that to make the final export mesh, which I triangulate when all is said and done.
  • ryebot
    Offline / Send Message
    ryebot polycounter lvl 5
    I'm a newbie baker and have been reading as much as I can get my hands on about normal and other map baking, including this thread. So far I've found a lot on baking hard-surface meshes, but not so much for doing characters.

    For seams between UV Islands (like for connections between arms/body/legs, etc), I'm understanding the way to get rid of them is to harden the edges of the UV islands? While it would for a static object, putting hard edges on a smooth, organic character seems counter-intuitive. Is that really the best solution?

    Also, would creating a cage fix AO/normal map problems like these?



    Do I need to cut up my mesh into different parts for that to fix?


    I'm doing my baking in substance painter. Forgive me if similar questions have been asked, slowly making my way through reading this and other threads.



  • ZacD
    Online / Send Message
    ZacD ngon master
    Those aren't AO errors, they are projection errors.

    A cage would fix those errors, but also trying to make your high poly and low poly mesh closer together would help as well.

    Hard edges would not get rid of UV seams. What do the UV seems look like on the model? Are you using padding? Is there enough space around each UV island?


  • punchface
    Offline / Send Message
    punchface polycounter lvl 6
    My problem is here....I have two pics here...pic one shows the high....the low....and the cage. Pic two shows the relevant results. I've included a dupe in the relevant results pic that shows a ghosty map of the geo and uv seams along with blurry highlights of my complaint where it's most pronounced....my edges appear to have tiny little valleys or grooves in them in them which is totally undesirable and not featured in the actual geo either high or low. Knald has propagated these grooves//valleys into the convexity, concavity, and curvature maps which has are then being read by Substance painter and all my edge wear looks wrong.




  • ZacD
    Online / Send Message
    ZacD ngon master
    My guess is it's due to the extremely tight bevels on your low poly.
  • Bruno Afonseca
    @punchface
    how are your smoothing groups on those meshes, high low and cages? Might have some sort of discrepancy there
  • EarthQuake
    Yeah I would guess it is the super fine bevels too. What does it look like when you apply the normal map to the lowpoly?
  • punchface
    Offline / Send Message
    punchface polycounter lvl 6
    It's all one smoothing group.  I was awake with insomnia last night and was (among other things) working the problem over in my head and considered that it might be the bevels. I'll try loosening them piece by piece (so as to do the least of potential damage to my uv unwrap) and see what happens.  On the model, stuff looks like this:



  • punchface
    Offline / Send Message
    punchface polycounter lvl 6
    well shit....messing around with loosing those bevels did the trick. On the one hand, I'm more than happy to have a solution to my problem. On the other hand, the solution is probably going to take a couple of days to fully implement. Stupid costly mistake with a labor intensive fix. Serves me right I guess....
  • ActionDawg
    Offline / Send Message
    ActionDawg greentooth
    Yeah think of it like this. If you want to have those bevels as geometry in the low, why not make them better match the sharpness of the the high poly's corners? Right now they are so sharp they don't even look like they're there in the final model. At that point it would look identical or, since you're experiencing these groove artifacts, better to have no bevels at all. But if you shape them to match the high poly mesh then the final model will have more refined silhouettes and shade better.

    And as a side note if you chose to not use the bevels at all then that would give you polygons to actually attach those handles to the plates which would shade much, much better.
  • punchface
    Offline / Send Message
    punchface polycounter lvl 6
    I'm relaxing//widening the bevels and keeping my UVW layout intact. The UVs themselves are pretty damned complex and took the better part of three days to lay out. I've screwed myself up plenty, I'm not going to rework my UVs and consequently my ColorID//MaterialID map.
  • punchface
    Offline / Send Message
    punchface polycounter lvl 6
    As a side note y'all, I REALLY did appreciate the responses over night that were here for me this morning. Truly. It doesn't matter to me that I'd started to get pretty suspicious on my own about those bevels, what matters to me now is that folks were friendly and helpful and that's fookin' grate. Thank you!
  • sagiarts
    Offline / Send Message
    sagiarts polycounter lvl 6
    Can u guys pls tell me why am getting this kind of of glitches while baking the normal map of the gun.
    I know its because of the low poly but can u suggest me some better splits to get rid of this glitches and get better and smooth normal map.
  • ZacD
    Online / Send Message
    ZacD ngon master
    That's an issue with not using a synced normal map workflow. The program you bake in needs to have a synced tangent bias with the viewport you are displaying it in. Handplane 3d has 2 great videos about this topic on YouTube.

    https://www.youtube.com/watch?v=ciXTyOOnBZQ
  • Thanez
    Offline / Send Message
    Thanez interpolator
    sagiarts Looks like you didn't triangulate your model before exporting it, so your baker and your renderer are triangulating the model differently, affecting the smoothing and creating those X shapes. Notice how it's not happening on the parts of your model that are already triangles, only the parts that are quads and ngons. Always triangulate your model nondestructively before baking and exporting.

    Edit: grammar
  • Pola
    Offline / Send Message
    Pola polycounter lvl 6
    Original post is missing images that were linked to dropbox account apparently? Is anyone able to recover them and update the original post?
  • willdebeast
  • EarthQuake
    Thanks for the wayback link @willdebeast, that made it a lot easier to replace the images. The links were lost when dropbox nuked the public folder feature.

    Of interest to most who will read this thread, I wrote an extensive tutorial that covers this topic and many other common baking issues. It's geared towards baking in Toolbag, but most of the Basics and Best Results sections apply universally. Check it out on the Marmoset site: https://www.marmoset.co/posts/toolbag-baking-tutorial/


  • Twinflower
    Offline / Send Message
    Twinflower vertex
    I dont do anything but basic hard edges, no manual vertex editing, and even then I try to just use scripts that assign hard edges to uv borders, super fast. I switch between modo/max/maya a lot so I just try to keep it basic.
  • Klaus Hustle
    Offline / Send Message
    Klaus Hustle polycounter lvl 8
    Is there a way to prevent these edges being baked like that? It's supposed to be more roundish, not to enhance the edges..



    low and high-poly:


  • Decordova360
    Offline / Send Message
    Decordova360 polycounter lvl 10
    Klaus Hustle
    you would need to apply more edge loops on the low poly to avoid those edge bakes, then cut/retopo the mesh down to what you have now.
    I would suggest making a copy of that low poly unwrap > move one of the low poly to the side, If you're using max which i think you are, add another modifier ontop of projection (Edit Poly) and add more edge flowadd projection modifier again, adjust the cage, and bake it out > then go ahead and apply the normal bake on the low poly that does not have the added edge loops.
  • Klaus Hustle
    Offline / Send Message
    Klaus Hustle polycounter lvl 8
    Hey, thanks @Decordova360

    So it's basically baking with 2 high-polys and applying the map to the low-poly? I just realized that when i'm doing that in this case i'm getting a beautiful plain blue normal map and could also just not have one at all  :#

    But if i had some details on the mesh, and details turn out fine but i'm getting these edges, i could avoid them with that method i guess.

  • ZacD
    Online / Send Message
    ZacD ngon master
    I would just use more geometry around the torus, you have 2 edge loops around the top that aren't doing much that could be removed. 
  • Klaus Hustle
    Offline / Send Message
    Klaus Hustle polycounter lvl 8
    So i tried to apply everything now, and my results are good imho! I used more edges ony my lowpoly for the roundness.



    @ZacD I also tried to get rid of the 2 edge-loops on the top-plane, but turns out that i'm getting more distortion in my UV's that way



    @Decordova360 again for clarification, you meant just adding edge loops for the bake, without changing the form right? i could add a turbosmooth with "1" that's giving me edge-loops but alters the form a bit.. or i could just add some tesselation/loops by hand without changing the overall form..  sorry if that's confusing, i hope you know what i mean..

    I tried both ways and both is giving me this kind of errors:



    It's probably because these tapered UV-planes are very sensitive to every little change in geometry. 
  • Decordova360
    Offline / Send Message
    Decordova360 polycounter lvl 10
    Klaus Hustle 
    Can you show your hi poly and low poly with and without wireframes?
    Thanks
  • ZacD
    Online / Send Message
    ZacD ngon master
    Those look like triangulation errors or a normal map sync issue. 
  • Irensay
    Offline / Send Message
    Irensay polycounter lvl 6
    Hi guys!, i've been experiencing a baking problem for a long time and I need to solve it to improve my skills. When I'm baking a normal map for a cube which is squashed I have artifacts on my normal map and when I apply smoothing groups it looks like this:



    and this is it with the normal map applied



    this is the wireframe and the UV's



    How can I fix all these problems for my normal map bake?
  • Decordova360
    Offline / Send Message
    Decordova360 polycounter lvl 10
    Irensay 
    Sorry but unfortunately I do not use Maya to model or render bake any maps so I'm not able to assist. Maybe try baking in xnormals, marmoset, substance painter, or Knald and see if you're still having these issues.
  • Irensay
    Offline / Send Message
    Irensay polycounter lvl 6
    thank you for the advise ^^
  • guitarguy00
    Offline / Send Message
    guitarguy00 polycounter lvl 7
    Can the skew function in Toolbag help fix waviness(to a degree of course)? It seemed to fix my issue but then it gives me other artifacts on the other side of the edge.




    Would the solution be to add more geometry to make a smoother curve(to further follow the high poly)? Like these red lines:



    Thanks heaps in advance!
  • dropyhop
    Offline / Send Message
    dropyhop polycounter lvl 11
    @guitarguy00

    If you are not crossing poly budget then add more polys. It is fine to have some more polys than to have artifacts, it should serve some purpose and should be justified.

    Or what you can do is create a mid poly bake textures on that and then apply those baked textures to low poly.
1567810
Sign In or Register to comment.