Esempio n. 1
0
    void _CreateLocalCamera()
    {
        LocalWebcameraSource c = new LocalWebcameraSource();

        _cameraSource = c;
        c.Init(_robotIfo);
        c.OnFrameGrabbed += OnFrameGrabbed_Local;
    }
Esempio n. 2
0
        // Use this for initialization
        void Start()
        {
            _camSource = new LocalWebcameraSource();
            var idx = new List <int> ();

            idx.Add(Index);
            _camSource.Init(idx);
        }
Esempio n. 3
0
    void _CreateLocalCamera()
    {
        LocalWebcameraSource c = new LocalWebcameraSource();

        _cameraSource = c;
        _InitCameraRenderers();
        c.Init(_robotIfo);
        c.OnFrameGrabbed += OnFrameGrabbed_Local;
        if (OnCameraSourceCreated != null)
        {
            OnCameraSourceCreated(this, _cameraSource);
        }
    }
Esempio n. 4
0
    void OnFrameGrabbed_Local(LocalWebcameraSource texture, int index)
    {
        //	Debug.Log ("Frame Grabbed: "+index);
        m_grabbedFrames++;
        if (m_grabbedFrames > 10)
        {
            //	_camRenderer[0].Enable();
            //	_camRenderer[1].Enable();
        }

        if (OnImageArrived != null)
        {
            OnImageArrived(this, index);
        }

        if (RobotConnector != null)
        {
            RobotConnector.OnCameraFPS(_cameraSource.GetCaptureRate((int)EyeName.LeftEye), _cameraSource.GetCaptureRate((int)EyeName.RightEye));
        }
    }
    void Init()
    {
        CameraType = Settings.Instance.RobotSettings.ReadValue ("Camera", "Source", CameraType.ToString ())=="Local"?CameraSourceType.Local:CameraSourceType.Remote;
        if(CameraType==CameraSourceType.Local)
        {
            LocalWebcameraSource c;
            _cameraSource = (c=new LocalWebcameraSource());
            c.LeftInputCamera = Settings.Instance.RobotSettings.ReadValue ("Camera", "Left", 0);
            c.RightInputCamera = Settings.Instance.RobotSettings.ReadValue ("Camera", "Right", 1);
            c.Init();
        }else
        {
            MultipleNetworkCameraSource c;
            _cameraSource = (c=new MultipleNetworkCameraSource());
            c.StreamsCount=2;
            c.TargetNode=gameObject;
            c.Init();
        }

        if (AudioSupport) {
            _audioPlayer = new GstMultipleNetworkAudioPlayer ();
            _audioStreamer = gameObject.AddComponent<GstNetworkAudioStreamer> ();
            _audioStreamer.SetChannels(1);
            _audioStreamer.CreateStream();
        }

        EyeName[] eyes = new EyeName[]{EyeName.RightEye,EyeName.LeftEye};
        TelubeeCameraRenderer[] Targets = new TelubeeCameraRenderer[]{TargetEyeRight,TargetEyeLeft};
        if (OculusCamera != null)
        {
            Camera[] cams = new Camera[] { OculusCamera.rightEyeCamera, OculusCamera.leftEyeCamera };
        //	Vector2[] pixelShift = new Vector2[] { Configuration.CamSettings.PixelShiftRight,Configuration.CamSettings.PixelShiftLeft};
            for (int c = 0; c < cams.Length; ++c)
            {
                int i = (int)eyes[c];
                cams[i].backgroundColor=Color.black;

            //	CreateMesh ((EyeName)i);
                TelubeeCameraRenderer r = Targets[i];
                if(r==null)
                    r=cams[i].gameObject.AddComponent<TelubeeCameraRenderer>();
                r.Mat = Object.Instantiate(TargetMaterial);
                r.DisplayCamera=cams[i];
                r.Src = this;
                r.CamSource = _cameraSource;

                r.CreateMesh(eyes[c]);

                _camRenderer[i]=r;

                if (i == 0)
                {
                    r._RenderPlane.layer=LayerMask.NameToLayer("RightEye");
                }
                else
                {
                    r._RenderPlane.layer=LayerMask.NameToLayer("LeftEye");
                }
                if(Targets[i]==null)
                {
                    r._RenderPlane.transform.parent = cams[i].transform;
                    r._RenderPlane.transform.localRotation=Quaternion.identity;
                    r._RenderPlane.transform.localPosition=new Vector3(0,0,1);
                }
            }
        }

        _videoValues=new NetValueObject();
        if (ParameterController != null)
            ParameterController.TargetValueObject = _videoValues;
    }