Ich weiß nicht, ob es was hilft, aber ich würde im c_trace nicht nach camera.x tracen, sondern noch deren "Standard"position und erst hinterher die Kamera an die ermittelte Position setzen.
Aber wahrscheinlich ist das nicht dein Problem, sondern dass die Kamera bei steilen Hängen seitlich durch das Terrain schaut, dafür müsstest Du 2 weitere Traces und zwar nach rechts und links einbauen, die sicherstellen, dass die Kamera seitlich gesehen weit genug von der Oberfläche entfernt ist.