You create a var to control the fade. When is 0 the scope is off, when is 1 is completly zoomed. So inside Update, you control this var with var += 0.1f*Time.deltaTime;
Just an idea… Read a little of Lerp function and good luck.
You could define the desired fov and make the actual fieldOfView follow it with a “Lerp filter”, a special use of Lerp that smooths out the transitions exactly like a RC low pass filter does in electronics (don’t panic, you don’t have to know electronics to use it!):
var speed: float = 5;
private var baseFOV : float;
private var FOV : float;
function Start () {
baseFOV = Camera.main.fieldOfView;
FOV = baseFOV;
}
function Update () {
if (Input.GetMouseButton(1))
FOV = 50;
else
FOV = baseFOV;
// follow FOV via Lerp filter:
Camera.main.fieldOfView = Mathf.Lerp(Camera.main.fieldOfView, FOV, speed * Time.deltaTime);
}