Camera translation between 2 points of view

Hi!

I have an architectural visualization scene, where the user can explore using the First Person Controller, and switch to an external camera view pressing the numbers 1 or 2.

I used this code to do it:

var cam_1 : Camera;
var cam_2 : Camera;

function Start() {
	cam_1.enabled = true;
	cam_2.enabled = false;
}

function Update () {
	if(Input.GetKeyUp("1")){
		cam_1.enabled = true;
		cam_2.enabled = false;
	}
	
	if(Input.GetKeyUp("2")){
		cam_1.enabled = false;
		cam_2.enabled = true;
	}
}

What i would really like to do, is to make a transition movement between the 2 cameras, so the POV moves from the First Person Controller to the external view.

It doesn’t matter if the movement doesn’t have acceleration, or smooth transition.

The best example of what i need to do is this scene made by linusnorden:
http://demo.mooglimedia.se/

I hope someone can help me.
Thanks!

I think for a smooth transition you might want to use a single camera, rather than two separate camera. When the camera is in one mode or the other, you could make it a child object as appropriate (for example, when in first-person mode, the camera object would become a child object, directly or indirectly, of the first-person controller).

For the transition, you could use Vector3.Lerp() for the position and Quaternion.Slerp() for the orientation. Applying an ease-in-ease-out function to the interpolation parameter would help smooth the effect further.