I'm trying to add false coloring to a terrain to help me identify the slope of faces when looking at it from top-down. I'd like:
- ~vertical faces (normal within 30 degrees of horizontal) faces to be one color
- ~flat faces (normal within 30 degrees of vertical) to be one color
- other faces to have a third color
I've hooked the Normal from a Geometry node to calculate a dot product with +z: the output of which should be -1 for faces pointing down, 0 for horizontal, and 1 for vertical. I've fed the result to a color ramp, with color stop changeovers to 0.333 and 0.666, which should be 1/3 and 2/3 of 90 degrees (30 and 60 degrees). However, there are faces (like the one selected) that are "obviously" within 30 degrees of vertical, yet they aren't showing the vertical color. Why?