On one hand, yes. On the other hand, I just wanted to understand Frank's wizardry! But if you feel like it, I would love to see how far you can take it!
Originally I wanted to vary the building texture by height, which *kinda* works with my approach. But on the other hand what's returned is not really the distance, so it doesn't generalize to all models. So I guess I'll just leave it as it is. :)