Hey Blender community. I’m a long time Blender user, but always learning better (correct) ways of doing things.
Recently I’ve noticed something off with my bump and normal maps. More specifically how they’re rendered out. I end up with these weird ridges. (Please see attached picture.) It was like this in 2.79, so I know it’s not 2.8 specific. As far as I know I’m feeding textures through proper nodes? For normal maps I’ll use a normal map node. All non-color data. Height maps go through a bump node.
I don’t believe it’s an issue with the maps themselves. I’ve run the same maps through Arnold’s shader system in Maya and haven’t seen the same issues.
Any suggestions? How do you run your bump / normal maps? Am I missing a button or setting somewhere?
Should be like that pattern swatch on the upper right.
I’ve managed to get it close, but I’m dealing with those same issues. I’ve isolated it in the first image above, to show what I’m referring to when I say “ridges.” This is something I have come across many times, and I assume I’m doing something wrong with my node setup.
Hmmmm I am trying to figure it out as well. I figured it might be artifacts in the texture used for the bump but if you say it doesn’t do it in other software then I am not quite sure. So I took a 100% white background and put a bunch of black to grey dots all over it in Gimp then brought that into Blender as a bumpmap texture and I don’t seem to be getting any artifacting or rogue bumps. Have you tried a vector mapping node to adjust the scale of the texture at all?
I also gave it a test render to see if it was just a viewport rendering issue but it looked actually worse and more pronounced. Think it is more of a limitation of using a bump vs geometry or at minimum a displacement modifier however the latter uses a lot more geometry. But I noticed it was only noticable when zoomed extremely close to the actual object.
Blender (cycles) seems to have trouble calculating proper bump for image files that are blurred, or fade from one value to another. Here is the image file that’s causing issues with my render:
As you can see the pattern has been blurred in Photoshop. The purpose of this was to spread the effect of the bump over a larger, less focused area. While there are no “ridges” in the original image, Blender seems to be putting them in as it uses the image for bump.
Your bump map has 1/1 set. This is extremely high.
The image you supplied in the last post is jpg, I won’t even be bothered trying it. When you need high quality bumpmaps, use 16 bit grayscale and save non lossy to avoid ridges from compression artefacts.
To depict a normal at an angle using a bumpmap, you need a continuous gradient of “elevations”. Using a normal map, the same could be achieved using a single color. For a good looking continuous change in gradient, possibly also the normal map should be high bit depth.
Bump map are usually sufficient only when you don’t zoom close enough to see individual pixels, as there will be a (smoothed, but not perfectly) ridge between each pixel. Zoom out and it all blends together.
I’ve also seen cases where the mathematical accuracy just doesn’t cut it; the texture generator itself goes awry, sometimes even break completely until you replace it with a new one with same settings. But I don’t think those apply in your case, it’s just a natural limitation of bump maps, more so in low bit depth ones.
It’s stair stepping from the bad use of available value range, plus jpeg compression artifacts won’t help. Try to have pixel values as close to normalised as possible when baking a bump map. A map going from 0-1 has better fidelity than one going from 0.5-1 for example. As CarlG said higher bit depths can help too.
The image you have might be 16 bit, but it needs to have been made with 16 bit processes the whole way through production or you will loose the value range that you need. And even if you did do 16 bit the whole time, as Tommy said, you are not using much of the range… even your deepest/darkest values are quite high. You probably need to use more of the value range to smooth out the transitions and avoid the stepping.
As I mentioned at the first, the same issue has come up in 2.79. I do not believe it is a 2.8 bug.
I’ve also used the very same bump maps accross Cycles and Arnold for Maya. The issues did not surface in Arnold. Which leads me to believe the issue does not sit with the files themselves, but perhaps the way I approach bump maps in Blender.
I guess the big questions is, why would this same process (same images) work in Maya with Arnold, yet I get the “ridges” “stepping” or “artefacts” in Blender? That’s really what I hope to answer. I’m not implying that Maya is better in any way… In fact I hesitate to make the comparison because Blender has proven itself for me again and again. I just have to wonder if I’m doing something wrong here. I hope you can appreciate the trial and error I’ve put my images through. I hope you’ll also appreciate the fact that this isn’t a one-time issue for me, but rather a recurring problem with Blender and bump/normal maps.
Here’s an example of a similar map I had going in Maya. As you can see, no artifacts. (forgive the low resolution I’ve zoomed in.)
I understand there are a lot of factors at play here. It’s become apparent that perhaps the solution is not immediately apparent and will require further testing on my part. I appreciate everyone’s shared solutions.
The “tile2_blur_most2.jpg” is also a jpg. Try uploading to a different place if BA converts the file unintentionally, maybe also the original file you start with. Also, examining it using a normalizer custom node group as non color data cubic, I get the range 0.919 - 0.921, that could end up in accuracy problems - I don’t know.
Even if used as displacement your get steppy artefacts. Have you tried rebuilding the texture from scratch? Some texture generator program or (possibly very difficult) using Blender nodes? Synaglows nodes or bricks’n’tricks might help as I see some hexagonal stuff going on.
I suspect BA is converting the file. Here is an external link: https://ibb.co/fP4k19
Typically I use substance painter for my textures. The maps that I export from there are then used with the principled BSDF shader in Cycles. In most cases This works great. Except of course with these ridges. Again, it’s not something I see in other programs with the same images. I know Blender is better than that. Thanks for taking a look at my files.
Interesting… I thought I had saved out at 16 along every step… Apparently not.
At it’s source it’s an illustrator vector file. I’ll get it all saved again and see if I can figure that bit out. Still puzzled as to why this works elsewhere as a bump map.