3 answers · asked @ video mark 1:01 on Height Maps Vs. Normal Maps

Correct normal map could be created, to represent the apparent height differences, just like the example height map. Right ?

I feel that the statements in the video  from 0:48 to 1:02 are misleading. "They all appear the exact same height, since again there is no height information". "The results from the simple test might make it seem like the height maps are the way to go". These statements make it sound like the normal maps can't convey different height variations. I think this is no true. And for beginners this would be very misleading.

It's true that the results appear so, but I think that's just for this example and also because of the way blender bakes the normals. In fact if we look at the below image, we can see that this normal map would convey 4 different heights without any problem. After all, even the height maps are finally converted to normals to convey the apparent height difference. Also, if we use a software like substance designer and create a normal map from the existing height map, the resulting normal map could convey the height variations just like the height map.

  • crew

    Hey, that image still doesn't communicate different heights unfortunately - it's an optical illusion that we might see but the computer cannot.  If you use a color picker to test their values, you'll find they are exactly the same in all of those flat areas. Baking normals in Blender is the same as building a normal map in Substance Designer, the results only output angle information. However, if you combine the height map with the normal map (as you might in Substance), then you can get the best of both worlds - at the extra cost of the additional image. Hope that helps clear things up! 

  • Oh ok! So when you are talking about height maps here,  you meant as displacement (vertices are moved) instead of bump? If that is the case it makes sense. Because (I think) even bump mapping relies on manipulating normal information to create apparent depth. Am I understanding you correctly?

  • crew

    Very close! I'm talking about both displacement and bump. Bump mapping does sort of use the normal information when rendering, but it gets it from the face and not the texture the same way that displacement does. You can convert a bump map into a normal map by guessing the slope between different heights, but the direction of the slope cannot be gotten with the greyscale information, which is essential for normal mapping things like rounded corners. A normal map, however, can't really be converted into a bump map since it lacks the height information. Does that help?