DaveTheCoder that does not scale in the OP project.. while you could cheat and do it for 1 map, doing for all the different kind of permutations of maps is ludicrous.
I would create 2 surfaces: 1) road where bus drives on 2) collision shape (invisible). Put the collision shape slightly under the road surface, and have a bus shoot raycasts and check if ray collides with that subsurface. If it collides, you can get the collision point and do the other things, not because they are easy but because they are hard.
And so you just have to handcraft your road the way you want and draw a huge collision box underneath it. And put a ray-ray on the side of the bus or multiples around the bus so that they shoot down..
