First of all, the whole point of Fixed Timestep physics is so to make it independent of framerate. Thus it will not affect game play, when you hit a low framerate for whatever reason.
Secondly the camera jitter is in no way related to physics. It’s related to the camera model you chose in your scripts, not being fit for tracking a flying car.
In DrJones project folder, you have used the Smooth Follow Camera which is not a good camera model to use in this case.
- It does damping on the height. This means that as the car flys with big altitude changes, the distance between camera and car will change back and forth each frame. Because it uses lerp instead SmoothDamp for damping, the jitter is made even wrose.
In the case of a camera following a car it would probably be better to lock the camera to be at a fixed height relative to the car. This way the position of the car on screen will never change.
I think by fixing 1) You can get rid of most jitter.
- When the car starts tumbling in air, the target yAngle changes all the time and worse if the car does a 180 flip the y-Angle will also make a discrete flip. This is a problem called gimbal lock and one of the reasons why we use quaternions in Unity and not euler Angles. The camera code uses euler angles though. So it suffers this problem.
The real problem with the camera is that it tries to place itself behind the car’s forward vector when in air. This is usually what you want when you are driving, because you want to look in the same direction the car is facing. For example if you are sliding on a track you would still want to look forward relative to the car and not in the direction you are sliding around a corner.
I think when your car goes in air, you should probably switch camera model and base the camera offset on the rigidbody velocity instead of the transform.eulerAngles. When in air the rigidbody velocity is going to be pretty stable, while the car might be turning around violently.
So it’s not related to physics. It’s related to the camera model you used not being well suited for cars that fly. Below I pasted a script that fixes the jitter on the camera if you replace the camera code.
It doesn’t implement any switching of camera model based on in air. So it still does some silly looking rotations when the car starts tumbling around.
// A simple smooth follow camera,
// that follows the targets forward direction
var target : Transform;
var smooth = 0.3;
var distance = 5.0;
var heightDifference = 2.0;
private var yVelocity = 0.0;
function Update () {
// Damp angle from current y-angle towards target y-angle
var yAngle = Mathf.SmoothDampAngle(transform.eulerAngles.y, target.eulerAngles.y, yVelocity, smooth);
// Position at the target
var position = target.position;
// Then offset by distance behind the new angle
position += Quaternion.Euler(0, yAngle, 0) * Vector3 (0, heightDifference, -distance);
// Apply the position
transform.position = position;
// Look at the target
transform.LookAt(target);
}