public void FocusCameraOnPoint(Vector3 center, float time = 1f, CameraId camId = CameraId.main, float height = 0) { if (height == 0) { height = camOrigHeight; } Camera camObj = camMain.GetComponent <Camera>(); CrossControl focalPoint = crossMain; switch (camId) { case CameraId.main: camObj = camMain.GetComponent <Camera>(); focalPoint = crossMain; break; case CameraId.left: camObj = camP1.GetComponent <Camera>(); if (pl1.position.x < pl2.position.x) { focalPoint = crossP1; } else { focalPoint = crossP2; } break; case CameraId.right: camObj = camP2.GetComponent <Camera>(); if (pl1.position.x < pl2.position.x) { focalPoint = crossP2; } else { focalPoint = crossP1; } break; default: Debug.Log("Unrecognized CameraId in CameraSupervisor.FocusCameraOnPoint"); break; } focalPoint.ForceFocus(center); var oldPos = camObj.transform.position; center.z = -(height * 0.5f / Mathf.Tan(camObj.fieldOfView * 0.5f * Mathf.Deg2Rad)); camMain.transform.position = center; addDelayedExecution(time, new DelayedExecution( () => { camObj.transform.position = new Vector3(camObj.transform.position.x, camObj.transform.position.y, oldPos.z); focalPoint.ForceFocus(null); })); }
public CameraId SaveCamera(UnityEngine.Camera camera) { if (root.Cameras == null) { root.Cameras = new List<GLTF.Schema.Camera>(); } if (_camera2ID.ContainsKey(camera)) { return _camera2ID[camera]; } var c = ProcessCamera(camera); root.Cameras.Add(c); var cameraId = new CameraId { Id = root.Cameras.Count - 1, Root = root }; _camera2ID.Add(camera, cameraId); return cameraId; }
// Use this for initialization void Start() { cameraId = this; cam = gameObject.GetComponent <Camera>(); }
public override bool Equals(object obj) { return(((CameraData)obj) !.CameraId.Equals(CameraId)); }
public string RoutingKey() { return(CameraId.ToString()); }