Normal map strange: Curved lines in Normal map

Hello everyone :slight_smile:

I’ve a small problem that I am experiencing while creating normal maps. the image below shows the problem:

T

I’ve two Barel: LowPoly and HighPoly. When I create the normal map in Blender, straight lines are distorted. Why? Is a problem in the low number of polygons of the low object?

Tips and advice are welcome :slight_smile:

1 Like

Ok, I’m sorry to have opened a post with an immediate response :frowning: .

In practice I’ve to increase the number of polygons of the lowpoly object to improve the normal map and eliminate the curved lines.

Test

Sorry. This discussion is solved

Now apply your new normal map to the old lower poly object…it should work.
Its a baking issue, not a model issue.

1 Like

Ok, I have not thought about this solution :slight_smile: So three objects: low, medium and high heheheeh!

Thanks!

Sometimes it can be a simple as slightly scaling your low poly object or adjusting the offset for the bake.

1 Like

Thanks @colkai for you reply :slight_smile:

I tried to do as you advised, but the result was the same. I have noticed that increasing the polygons resolve many errors… I would like to work only within Blender, without using external software, so these are basic exercises to determine my workflow…

Thanks again :slight_smile:

There is a video of Darren Lile’s making a garbage can and he runs into all sorts of normal map issues, so it’s actually great to see how he goes about resolving them. It’s around the 30 minute mark he starts to get into UV Mapping. I actually recommend his tutorials as he’s so laid back and doesn’t mind showing his process. I may seem a bit rambling, but I think they are worth watching.

1 Like

This is a bug with Blender and should not be mistaken as “something you need to do” other than,well, it is a bug, so you have to use a workaround. And the bug is that if you have a long object with no subdivisions, there is an issue where the UV map distorts. The solution - as you found - is to subdivide it. But just know that the only direction you need to subdivide is in the long direction of the object. I have not seen this in other apps. I have encountered this enough times, and tested it enough times, with the same object and UV in both Blender and another app. It only happens in Blender.

1 Like

Am I imagining things, or isn’t there something else where that split of a long object is needed as well, it rings a bell for some reason.

I think game engines don’t like very long but thin polygons. I’ve read something like that in the UE4 forums.

Thanks guys for the interest in my problem. :slight_smile:
Effectively the subdivision eliminates this “bug” in Blender, but forces me to change my workflow. Now I have not tried with Xnormal and so I don’t know how normal behaves, so it’s worth trying.

I also referred to this cryengine step to determine a flow (https://docs.cryengine.com/display/SDKDOC2/Ambient+Occlusion+and+Normal+map+bake+using+Xnormal), but always working in the past with “RenderToTexture” in 3dsmax, now I find it difficult.
My point of arrival are the normal maps used the “Metal Gear Solid V”, where they are processed in a very extreme way. I also do some tweaks in Photoshop, but frankly I would like everything to be the result of Blender. I also noticed some strange overlaps during the normal phase, but I think he is doing something wrong.

Thanks for help boys :slight_smile:

For what it’s worth , it works in Maya. I have tested this many times in he past. It is a Blender thing. I am not sure if there is a setting to change. But what I have done in the past is just make a special object only for baking.

Seems to be a recurring theme lately. But remember you don’t have to keep the same mesh through the whole process. I rarely do. Think outside of the box.

It is not uncommon to have 3 versions of the same mesh during the baking process.

Just take AO maps for instance. Some parts are animated so they can’t cast a shadow, but need to receive shadows. Some small parts are duplicated and cause multiple shadows. But only one if them is used in the map so only one if them gets baked. Yet multiple duplicates of that part are used to cast shadows on other parts.

Maybe the whole thing is animated, so it has to be exploded and then baked. Maybe the mesh needs to be separated do you can paint it cleanly on all sides. Maybe parts are too close or touching and you get normal map errors.

There are all kinds of scenarios.

Yes, you’re actually right about it.
Right now I’m creating props that will be used in various levels. It is a bit frustrating to slow down the work because you have to make low, intermediate and high copies of the same object because the NM behaves strangely; for example, today to create a simple watering can, I lost many hours of work :frowning: pffff…

One of the reason i avoid baking in Blender. I also dislike xnormals.
Its a way to technical problem for my artist soul, throw some buggy shit in the mix and it becomes a nightmare which sucks the fun out of doing 3d.
Baking in Substance and even Z-Brush is comparably painless.
Yes is cost money, but time IS money.

Yes, holy words Romanji.
It’s been days since I think of a perpetual Indie license for Substance (only 150 $) but but I have to learn a new program… arghhhhhhh!!! Between my real work, family and that of 3d is really tough :frowning: Right now seeing the video posted by @colkai Substance painter is used; really nice…

Substance Painter is easy, like really easy to learn. Especially if you already know how to use Photoshop or something similar.
If you don’t mind spending the money, you’ll get it back as time currency by being way more efficient.
And i mean 5 to 7 times more efficient.
Texturing has become my favorite part of the creative process because it is so effortless, keeps me in the zone and as such is really fun.
Don’t be afraid of the learning process.
Allegorithmic’s Youtube account has all the tutorials you might need and you’ll be up and running after spending 10-20 hours with the program.

PS: i should call Allegorithmic and ask them for $$$. I already have turned a couple of non users into enthusiastic Substance abusers. :laughing:

1 Like

Blockquote PS: i should call Allegorithmic and ask them for $$$. I already have turned a couple of non users into enthusiastic Substance abusers. :laughing:

Hahahhahahahahaha I hope they can give you some money for this “hard” job :smiley: hahhaahahha

I have only recently got into Substance Painter, but really glad I did, the level of texturing you can apply is amazing. The big deal is, change the model or UV’s and, unless you have directly painted areas, you simply rebake the maps in SP and bam! It all fits the new geometry. Most excellent!

1 Like

Your convinced me. Today I downloaded the trial of the program, and contacted the service for more questions I have in mind. In the meantime I continue modeling in low / high poly in Blender models and then I try everything.
Question: A better automatic solution to reduce polygons in Blender? So I try again with the normal map to understand where I can push myself :slight_smile:

For what it’s worth this is a general problem when baking and isn’t specific to Blender at all. It’s not a bug, but rather it’s down to how the vertex normals are projected (and averaged) across the surface of the mesh and what rays can see when sampling normals.

The issue with waviness is due to there being a large mismatch in the curvature of the surface between to the high and low poly objects and when you reduce that difference the “error” also reduces, which is why you see an improvement when you added more sides to the cylinder. For something like a barrel I would probably use 24 sides as standard. Geometry is cheap and is no longer the bottleneck it once was, so use what is needed to faithfully represent the surface you are trying bake from. :slight_smile:

While not directly related to your issue I just wanted to mention that painting out details in Photoshop as mentioned in the video above is really bad practice. Normal maps are mathematical data encoded into a texture so when you mess with that data the numbers come up wrong and it breaks the encoding.

2 Likes