/// <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); } }
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); }
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); }