Is there a way to blend two colours in a material based on the Sharpness/Steepness of the angle from a normal map?
Yes. The specifics will vary depending on the use case, but one example would be to take the dot product of the normal map and some other vector (like the vertex normal). This tells us how similar the normal mapped surface is to the other vector, and therefore the greater the difference the steeper the slope of that pixel. (1 means the vectors are the same, 0 means they’re perpendicular. If the pixel normals and the vertex normal dot product is 1, then they are the same aka flat. If it’s less than one, it has a slope.)
Thanks for the tip, that works pretty well.
Although I want to mention for anyone that might see this in the future, unless I just messed up, for usage with planes I do need to manually ‘boost’ the Vertex-Normals by multiplying them to really make a difference.