Free Roam and Third person Camera
As the vehicle moves over the terrain it needs to move up and down according to the height of the terrain at that point. Your terrain class needs to be able to return the height at any point.
This will also be useful in preventing the camera from "going under ground"
In order to position the vehicle correctly on the terrain we need to know the terrain normal under the vehicle;
A matrix to orient the vehicle is construxted as follows
World Matrix for vehicle;
Matrix.CreateRotationY(yaw)*Upright*Matrix.CreateTranslation(position);