Code:

`if(Ms.b(1))`

{

desired_camera.yaw -=Ms.dir_d.x;

desired_camera.pitch+=Ms.dir_d.y;

} else

{

desired_camera.yaw =Lerp(camYaw,-Players[0].refCar().matrix().angles().y,Time.d()*2);

desired_camera.pitch=Lerp(camPitch, -PI_4/2,Time.d());

}

Clamp(desired_camera.pitch,-PI_2,0);

camYaw =desired_camera.yaw ;

camPitch=desired_camera.pitch;

desired_camera.setSpherical(Players[0].refCar().matrix().pos,desired_camera.yaw,desired_camera.pitch,0,8);

Ball ball(0.1f, desired_camera.at);

Physics.move(ball, desired_camera.matrix.pos-ball.pos);

Cam.setPosDir(ball.pos, desired_camera.matrix.z, desired_camera.matrix.y);

Cam.updateVelocities().set();