Call of Duty 4の最初のステージの上から視点が降りてくるようなやつを目指して作成した。
手順はMainCameraとは別のカメラを作成して、MainCameraの上空に設置する。向きはRotationのxを90にしておく。そして以下のスクリプトを作成して、適当にGameObjectに貼る。それからmainCameraにMainCameraを設定し、fallCameraに先程作成したカメラを設定すればOK
using UnityEngine; using System.Collections; public class CameraScript : MonoBehaviour { public GameObject mainCamera; public GameObject fallCamera; void Start(){ mainCamera.camera.enabled = false; fallCamera.camera.enabled = true; } void Update(){ if(!mainCamera.camera.enabled){ fall(); } } private void fall(){ Vector3 from = fallCamera.transform.position; Vector3 to = mainCamera.transform.position; Vector3 frotation = fallCamera.transform.localEulerAngles; Vector3 trotation = mainCamera.transform.localEulerAngles; if(Vector3.Distance(from, to) > 0.3f){ Vector3 position = Vector3.Lerp(from, to, 0.05f); fallCamera.transform.position = position; }else if(Mathf.Abs(frotation.x - trotation.x) > 3.0f){ fallCamera.transform.Rotate(-3.0f, 0.0f, 0.0f); }else{ mainCamera.camera.enabled = true; fallCamera.camera.enabled = false; } } }