# How to align normal maps "heights"?

Welcome to another of Freodin’s totally crazy wild goose chases.

Following problem:
I have an existing normal map. If I plug it in the shader, without changing any values, it gives me a bump of a certain (virtual) height.

Now I create a new normal map, by creating a height map, plugging it into a bump node, feeding it to a shader and baking the texture from “normals”.
Feeding that map again into a shader, without changing any values, it results in exactly the same perceived “height” as the initial setup with the bump-node.

But now I want to combine these two normal maps. Use them on similar objects or even stitch them together.

Now for the question: is there a way to find out the “height” of a normal map - the strength of the bump - so that I can align these two maps? Other than just eyeballing it?

Formula to reconstruct Z (blue channel of normal map) from given X(R) and Y(G) is z = sqrt(1 - x^2 - y^2) . Maybe it will help. Though keep in mind that normal map, as the name says, normalized (length of normal vector is always 1), so, even if your height input was beyond 0-1 scale, it wont factor much into generated normal

2 Likes

That would certainly help. But forgive me if I am missing something obvious now: I could just use the blue channel value instead, right? (Which would mean I missed something very obvious BEFORE asking the question.)

So if I am not completely wrong… I could just look at the histogram of the blue channel and adjust my own map accordingly. Correct?

Yes, on the second thought, Blender doesnt use any compression for texture maps (that nesessitates this formula in some game engines, where blue channel just discarded)

Hey there,

If I understand correctly, you have a BW bump map and a normal map.

You can have two possible solutions IMO.

The simplest is if you plug your BW map into a bump node height and yout existing normal map into the normal of that bump node. If you tweak distance, it should act as a mix of some sorts. Once happy with it, you can bake it all together.

A second option is to bake the BW map as a normal map from a bump node, and mix your two normal maps later, with separating RGB, or this method for example:

There are multiple ways of doing it, however it won’t save you from eye-balling

Happy blending!

No, that isn’t my problem. I can combine the two maps quite fine, using the very method you quoted… or may not even need to, if I want to use them on two different objects.

My question was solely referring to gauging the “height” or “strength” of an existing normal map.

Deckard’s post gave me the way to do that with precision, if I wanted or needed to… but eye-balling seems to be the quicker and more efficient way.

1 Like