Home Technical Talk

Not understanding Height maps vs Normals, and Displacement maps

polycounter lvl 7
Offline / Send Message
PJPayne polycounter lvl 7
Hello,

After messing with Substance Designer, I found out a bit about Height maps (That being their general purpose and that they are BnW), but I have not been able to use them correctly yet. My friend told me they are basically just Normals, and what I was thinking they were (to basically change the silhouette of the object) was about displacement maps. This of course threw me for a loop and now i'm not sure I totally understand it all. 

Are Height maps basically just extreme Normals, or are they used to as I thought, to push the sill of the mesh? Also where do displacement maps come into the equation? 


Even if you have a video on this explaining these differences that would be very helpful, as my research has come up empty handed.


Thanks in advance!
-Patrick

Replies

  • Joopson
    Options
    Offline / Send Message
    Joopson quad damage
    Height maps are generally used for displacement, as you say. They add geometry and change the silhouette. The words Displacement and height can be used interchangeably in many cases.

    Sometimes height maps are used as an input for what's called "Parallax Occlusion Mapping" (which is essentially a normal map, with faked "parallax" depth).
  • PJPayne
    Options
    Offline / Send Message
    PJPayne polycounter lvl 7
    Joopson said:
    Height maps are generally used for displacement, as you say. They add geometry and change the silhouette. The words Displacement and height can be used interchangeably in many cases.

    Sometimes height maps are used as an input for what's called "Parallax Occlusion Mapping" (which is essentially a normal map, with faked "parallax" depth).
    Ah thank you! I was very confused about all this as I was thinking displacement and height maps were different. 
  • ActionDawg
    Options
    Offline / Send Message
    ActionDawg greentooth
    You can use a height map as a "bump map" which functions much like a normal map does (though not identical). Probably what your friend meant by that comment. Both fake surface detail, with a bump map giving a sense of height and a normal map one of direction. The Parallax Occlusion Mapping (POM) technique @Joopson mentions is an advanced form of bump mapping.

    One good thing to touch on is the relationship between between height and normals.  The difference between the two is that you can convert height to normals accurately, but doing the reverse is a lot more guesswork. Why?

    Think of a normal map as representing the slopes of a height map. Let's say you have a heightmap that stairsteps its way from black to white. At each "step" you know the angle of the slope by calculating the degree of change over an area of pixels, and this calculation becomes your normal map. In the process you can also scale the normal intensity up and down to strengthen or lessen the effect. But wherever it's flat in that normal map you now don't know the original height.

    In picture form:

    All well and good so far. We can see how the normal map neatly captured the quick degrees of change across pixels at each step. But let's say we screwed up and lost our heightmap. Let's try recovering it by doing a naive Normals to Height:

    Whoops! Turns out we actually lost all that height information in the process. Since a normal map only captures angles off the surface, we've got no idea which of those flat areas are actually higher than others, just that there's some sort of slopes going on in there.

    So in practice both have distinct yet related purposes and with techniques like displacement or POM they can be combined together to give height and direction information to great effect :)
Sign In or Register to comment.