Кидаешь райкаст.
В RaycastHit получаешь нормаль, после чего используешь метод:
Quaternion.FromToRotation
Код
var rot = Quaternion.FromToRotation(Vector3.up, hit.normal);
Для лучшего результата можно пускать несколько райкастов из разных точек и брать среднее арифметическое. Например, если это автомобиль, то пускать райкаст вниз из каждого колеса.