So I've had this issue before and wondered if there was a way to avoid this issue with my normal maps. The bottom seam happens at UV seams, and the top happens on certain curved areas where quads have bee triangulated. What is causing this and can I avoid it? Baked in xnormal, passed through handplane and rendered in marmoset.
Thanks for any help.
Replies
I manually triangulate my meshes before I bake normals, because I know that a) if an engine triangulates my mesh differently it will bake the normals b) when I create a cage from a untriangulated mesh often xnormal triangulates the two differently and throws an error.
As for smoothing groups, I use TexTools UV islands to smoothing groups script, and then I combine some smoothing groups into one where it seems appropriate. There should be no smoothing group splits without a UV split on this mesh.
Second looks like lacking color space depth for your gradients in your normal map. Try to get less gradients in your normal map if possible.
I've experienced both these issues in previous models I've made.
For the first image, the normal map is:
For the second one:
Will this show up much after I've textured the object? Do I need to worry about it much?
It's fairly common to see in commercial games as well if you go looking for it.
My guess is you have a very minor difference in vertex normal directions somewhere on that surface on the hp and/or lp. If you add DXT(DDS) compression on it as well you will probably get more banding artifacts on the gradient areas.
So what about the first image? Similar thing that it's a common issue that won't show up much when textured? Or something else?
The first image, are those squares located along faces? How does the wireframe look?
Think I found it (this is actually quite useful, because I often found myself wondering when I was adding in geo to support normal details. This will allow me to check my normal directions)
This is a precision issue, common 8bit-per-channel image formats can only hold so much information. Your baker has two options, pick the closest color value (which gives you stair-stepping artifacts like this) or dither (which adds noise). Unfortunately no normal map bakers that I am aware of give you an option.
One thing you can do, its bake 16 or 32 bit per channel, and then convert that to 8bit per channel in photoshop, this generally does a good job of dithering to get rid of the stairstepping.
Though seriously, what you should do is zoom out, texture your asset, and see how it really looks. Chances are you would never notice this in a real world situation.
As for your other issue, make sure your uvs are all welded, randomly unwelded uvs can cause some issues. Also, try converting to Maya format for Marmoset Toolbag, its not synced, but it will probably give you the best results. Toolbag 2.0 will have a few options for different tangent spaces, like Maya, Max and Xnormal.
Also I was wondering which format was closest to marmoset, so thanks for that too.
I know noise (dithering) is the way to counter 8bits banding, but somehow it looks better when saving directly a 16bits file to 8bits png, without converting in photoshop (atleast on my lightmaps)
But dds compression will trash out all your efforts anyway...
I had the default setting on in max for this (which is 2 I believe). This wouldn't explain my normal map issue though, as I always have my normal map padding high. I'll try rebaking with a higher value though. It just seemed like it might be related to my original issue.
There are seams like in the original issue, but they aren't so visible.
Add in the AO map and they are much more obvious and it just seems to break the smooth look.
Here's my simple AO bake.
Why not from the highpoly?
http://wiki.polycount.net/AmbientOcclusionMap#EarthQuake.27s_Baking_Method
Huh? I dont agree with this. Yes I did but I still feel this unnecessary. Its just my opinion.
No, two different things.
Edit: smoothing groups, material IDs
Obscura, material IDs do not solve the problem. To start with, my workflow doesn't bake anything in max because many times in the past max just seemed to render blank maps for me. So I purely use xnormal which doesn't support material IDs.
Secondly, there is great benefit in using a low poly bake, I get the feeling you didn't actually read the wiki (or experience these issues for yourself).
Also, I'm not really sure how cages and material IDs would come into play with an unexploded bake. Surely you want the AO to be cast between pieces and not just each part onto itself?
I also have this issue that when two parts are close to each other or intersecting, the AO seems to suddenly stop or become very noisy. Any thoughts on this?
Thanks for all the help by the way guys