Example #1
0
    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;
        }
Example #3
0
 // Use this for initialization
 void Start()
 {
     cameraId = this;
     cam      = gameObject.GetComponent <Camera>();
 }
Example #4
0
 public override bool Equals(object obj)
 {
     return(((CameraData)obj) !.CameraId.Equals(CameraId));
 }
 public string RoutingKey()
 {
     return(CameraId.ToString());
 }