Join us on Discord at https://discord.gg/CeUpmbC :parrotsailor: All tutorials available at https://chamferzone.com/

Weird normal map problems.

Anything related to baking, texturing or sharing useful advice.
Post Reply
cyberdemon_1542
Posts: 9
Joined: Mon Jul 23, 2018 1:06 pm
Has thanked: 3 times
Been thanked: 2 times

Mon Jul 23, 2018 1:22 pm

Hello everyone,

I am having trouble getting artifact-free bakes in my latest bakes. I am baking a high-poly object with a bevel onto a low-poly object. Problem is, that everywhere there isn't a seam I get artifacts on the edges that are supposed to be beveled. Here is a demonstration:

Image

I know of three ways of fixing the problem, all of which I find unsatisfactory. The first is to have a seam on every edge that is set to be beveled. I don't like this because it makes a mess of my UV layout and I want to have as few seams as possible. An idea that just popped in my head is to mark those edges as seams and unwrap but the position of the islands is the same, as if they had not been cut. Is this possible?

The other solution involves adding a destructive bevel to those edges but on the low poly I really don't like this because it adds extra precious geometry. In my case it doubles the geometry.

Finally, a third "solution" involves turning off Autosmooth on the low-poly but this just trades one problem for another. If I do this, the artifacts on the bake disappear but I trade those for black shading on the edges instead.

Image


HOWEVER, I discovered that this ONLY happens on metallic textures. It doesn't happen when I use a plastic material that has metallic set to 0.


Image

Are these the only solutions?

Thank you!
User avatar
Laggtastic
Site Admin
Posts: 921
Joined: Thu Mar 02, 2017 12:10 am
Has thanked: 1041 times
Been thanked: 721 times

Mon Jul 23, 2018 5:59 pm

Hey there :)

First thing I noticed, is that your UV shells don't seem to have straightened edges (mainly focussing on the big UV shell for the area you showed.
When they are not straightened, it will cause jaggy edges which also pop up on the normal map especially. This could be the reason for having those jagged artifacts :thinking: :enlightened:

Regarding the idea to break the UV edges while remaining the same position: As your smoothing groups should be based on the UV shells using Textools,
I expect that you will get some trouble. Each shell should have enough padding in order to get decent results. But that's just my expection ^^

1 final suggestion for future projects: Try to fill in those empty gaps with smaller UV shells, you could eventually scale up a few shells in order to get it nicely filled.
(while trying to keep the scale of all uv shells fairly uniform so it won't show major differences in terms of resolution). :)
cyberdemon_1542
Posts: 9
Joined: Mon Jul 23, 2018 1:06 pm
Has thanked: 3 times
Been thanked: 2 times

Tue Jul 24, 2018 6:28 am

Laggtastic wrote:
Mon Jul 23, 2018 5:59 pm
Hey there :)

First thing I noticed, is that your UV shells don't seem to have straightened edges (mainly focussing on the big UV shell for the area you showed.
When they are not straightened, it will cause jaggy edges which also pop up on the normal map especially. This could be the reason for having those jagged artifacts :thinking: :enlightened:

Regarding the idea to break the UV edges while remaining the same position: As your smoothing groups should be based on the UV shells using Textools,
I expect that you will get some trouble. Each shell should have enough padding in order to get decent results. But that's just my expection ^^

1 final suggestion for future projects: Try to fill in those empty gaps with smaller UV shells, you could eventually scale up a few shells in order to get it nicely filled.
(while trying to keep the scale of all uv shells fairly uniform so it won't show major differences in terms of resolution). :)
Thank you for your reply.

I have since worked a bit more on the UV map but doesn't seem to have worked. That doesn't seem to be the issue.

I have also done a bit of research and I read something about hard edges and baking. It seems to me like all hard edges are supposed to have seams. What do you think?

I try to use as much of the UV space as possible but isn't it super important that the texel density is the same across the board?

Also, what do you think of my idea of turning off autosmooth for non-metallic objects? Turning it off seems to fix all of the baking artifacts and it doesn't seem to matter if hard edges have seams or not but if I do this on metallic textures it gives the edges really ugly dark shading. What is the explanation for this? I have a feeling it has something to do with the fresnel. Either way, do you recommend using this on non-metallic textures like in the last image? It would speed up my workflow by quite a lot, make my UV cleaner and also reduce the final vert count because of fewer seams.

Here is a new UV map too. Is it better?

Image

I am also having a bit of trouble mirroring my UVs, it seems they do not snap perfectly. You can see it if I select one half.

Image
User avatar
Laggtastic
Site Admin
Posts: 921
Joined: Thu Mar 02, 2017 12:10 am
Has thanked: 1041 times
Been thanked: 721 times

Wed Jul 25, 2018 9:46 am

Hey there :) Sorry for this long post, but I hope the information can be valuable for you :icon_eek: To make readability a bit better, I made the extra info another color than the main info.

Now I see you use Blender, and I must say I never really worked with it and perhaps it could have to do the way Blender handles the smoothing. The results of the bakes heavily rely on UV splits & the smoothing groups. In Tim's tutorial he makes use (and so do I) of Textools which will handle all the smoothing groups for us when the UV shells are in place.

I have observed your screenshots and I don't see the Textools icon anywhere, so I wonder if you have it installed? :) :enlightened: (Correct me if I'm wrong/overlooked it).
I googled it again and it seems that it is now also supported for Blender :) The tool inside Textools you should look for is "Smoothing groups from UV Shells"
http://renderhjs.net/textools/blender/


Regarding hard edge = UV seam: Generally, that's indeed the rule of thumb from what I heard. However, I noticed a few times that it didn't work out on all objects which I unwrapped so far.
There were some cases where it looked better to have it stitched together, so that's just my personal opinion here ^^

About the texel density: Yep, that's something to keep in mind indeed, but to my personal opinion some subtle difference in density is fine as long as you won't see it drastically when applying a material.
For example: Considering a First Person Shooter, the guns (FPS-models) are generally viewed from the back, and the sides. The front will barely be seen, so you can save polygons and UV space for the front elements, which allows you to push some extra polygons & texture resolution on the back & sides :) But in case you want to make a presentation-model which can be viewed 360degrees around; Then you gotta make sure that the quality (texture & model) is good from any angle :icon_thumbsfallout:

For the autosmooth thing in relation to the metallic issues: As I don't use Blender I don't exactly know how the smoothing in there should be handled, and as I didn't see the Textools icon in your screenshot I suggest you to look into that. Word of advice: Make sure to save it as a new file as this tool (smoothing groups from UV shells) will change the smoothing and in case it didn't work out so well: There's a way back to your original smoothing settings :enlightened:

The new unwrap seems to be more filled at first glance, but still feel like the space could be utilized more efficiently :)
I don't like to be nitpicky but just sharing this as some feedback, it's fully up to you to keep it this way and eventually apply it in another project, or to adjust it ;)

Just to give an idea of how I approach my unwraps; I try to straighten everything when I can: Straightened forms can really save a lot of space but of course: Some shapes can't be straightened. It's also a matter of deciding how much distortion you accept and the way distortion appears is also different per material. When something get's a fairly random/uniform material without a clear pattern you can get away with it, however; If you have something with straight edges or apply a raceflag-decal (just an example) it will be clearly visible.

Here is one of my unwraps as an example: (I could have overlayed some of the straightened parts to make it more efficiently but ran out of time; This was for a contest so there was some rush).
Image

If you have any questions, feel free to ask!
Post Reply