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.
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.
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 :
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.
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.
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
@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 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.
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?
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.
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.
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.
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?
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.
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:
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....
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.
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.
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!
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.
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.
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.
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/
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 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.
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.
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.
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?
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.
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:
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.
Replies
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!
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
:
It's right there in the OP!
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".
i didnt see that.
You essentially have 2 ways to resolve or reduce the issue:
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
Yes, that's very true. The result you get will always be only as good as the source meshes you feed the baker.
Anyone knows why it looks squashed when mapped? Relaxing destroys it even more
Generally, it's all round easier to just use the exact same exported file for both of those, so you know they're identical.
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.
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?
how are your smoothing groups on those meshes, high low and cages? Might have some sort of discrepancy there
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.
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.
https://www.youtube.com/watch?v=ciXTyOOnBZQ
Edit: grammar
http://web.archive.org/web/20151113031140/http://polycount.com/discussion/81154/understanding-averaged-normals-and-ray-projection-who-put-waviness-in-my-normal-map/p1
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/
low and high-poly:
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.
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 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.
Can you show your hi poly and low poly with and without wireframes?
Thanks
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?
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.
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!
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.