Exemplo n.º 1
0
 /// <summary>
 /// Retrieves an instance of a WebCamManager and the camera index
 /// to be used to fetch information about a camera.
 /// </summary>
 /// <param name="managerInstance"></param>
 /// <param name="camIndex"></param>
 public void SetInfo(WebCamManager managerInstance, int camIndex)
 {
     if (camIndex < managerInstance.NumWebCams)
     {
         webCamManager    = managerInstance;
         this.camIndex    = camIndex;
         DeviceNameString = managerInstance.WebCams[camIndex].name;
         WebCam           = managerInstance.WebCams[camIndex];
         WebCamFeed       = managerInstance.VideoFeeds[camIndex];
         DeviceName       = WebCamSpecsManager.WebCamDeviceToSpecsName(WebCam);
     }
 }
Exemplo n.º 2
0
        public List <int> GetIndicesFor(WebcamDeviceNames deviceName)
        {
            List <int> indexList = new List <int>();

            for (int i = 0; i < NumWebCams; i++)
            {
                if (VideoFeeds.Length > i)
                {
                    var specsName = WebCamSpecsManager.WebCamDeviceToSpecsName(WebCams[i]);
                    if (specsName == deviceName)
                    {
                        indexList.Add(i);
                    }
                }
            }

            return(indexList);
        }
Exemplo n.º 3
0
        public WebCamTexture GetTextureFor(WebcamDeviceNames deviceName)
        {
            for (int i = 0; i < NumWebCams; i++)
            {
                if (VideoFeeds.Length > i)
                {
                    var specsName = WebCamSpecsManager.WebCamDeviceToSpecsName(WebCams[i]);
                    if (specsName == deviceName)
                    {
                        return(VideoFeeds[i]);
                    }
                }
                else
                {
                    Debug.LogError("Inconsistent number of webcams and feeds.");
                    break;
                }
            }

            return(null);
        }
        public GameObject GenerateViewingCamera(int camIndex)
        {
            GameObject viewingCam = new GameObject();
            Camera     cam        = viewingCam.AddComponent <Camera>();

            viewingCam.AddComponent <GUILayer>();
            viewingCam.AddComponent <FlareLayer>();
            // Avoid adding an AudioListener, this messes with Unity
            //viewingCam.AddComponent<AudioListener>();
            viewingCam.name = "ViewingCamera_";
            viewingCam.tag  = TagManager.GetViewingCameraTag();

            // Associate a webcam
            if (webCamManager.WebCams.Length > camIndex)
            {
                WebCamDevice  webCamDevice  = webCamManager.WebCams[camIndex];
                WebCamTexture webCamTexture = null;
                if (webCamManager.VideoFeeds.Length > camIndex)
                {
                    webCamTexture = webCamManager.VideoFeeds[camIndex];
                }

                WebcamDeviceNames webCamDeviceName = WebCamSpecsManager.WebCamDeviceToSpecsName(webCamDevice);
                WebCamSpecs       specs            = WebCamSpecsManager.GetSpecs(webCamDeviceName);

                // Assign attributes from webcam
                WebCamSpecsManager.AssignSpecsToCamera(cam, specs);
                WebCamIdentifier webcamID = viewingCam.AddComponent <WebCamIdentifier>();
                webcamID.SetInfo(webCamManager, camIndex);

                viewingCam.name = "ViewingCamera_" + "(" + camIndex.ToString() + ")";
            }

            cam.depth = -2;

            return(viewingCam);
        }