public void addCamera(Vector3 position, float pan, float tilt, int imageWidth, int imageHeight) { if (!(robot is ICameras)) { Debug.Log("Trying to add Camera to unsupported robot type"); } else { Transform CameraContainer = robotObject.transform.Find("CameraContainer"); if (CameraContainer == null) { CameraContainer = AddCameraContainer(); } Object cameraPrefab = Resources.Load("CameraPrefab"); GameObject camera = Object.Instantiate(cameraPrefab) as GameObject; camera.transform.SetParent(CameraContainer, false); camera.transform.localPosition = position; camera.transform.localRotation = Quaternion.Euler(tilt, pan, 0); EyeCamera eyecamera = camera.AddComponent <EyeCamera>(); eyecamera.cameraComponent = camera.GetComponent <Camera>(); (robot as LabBot).eyeCamController.cameras.Add(eyecamera); } }
void EnsureCamera(Camera camera) { // renderTexture might still be null so this creates and assigns it. if (renderTexture == null) { if (OutputResolution != Resolutions.WindowSized) { var selectedResolutionSize = resolutionSizes[(int)OutputResolution]; ResizeRenderTexture(selectedResolutionSize.width, selectedResolutionSize.height); } else { ResizeRenderTexture(Screen.width, Screen.height); } } EyeCamera eyeCamera; if (!eyeCameras.TryGetValue(camera, out eyeCamera)) { eyeCamera = new EyeCamera(); eyeCameras.Add(camera, eyeCamera); } EnsureEyeCamera(camera, ":Instant Preview Left", new Rect(0.0f, 0.0f, 0.5f, 1.0f), ref eyeCamera.leftEyeCamera); EnsureEyeCamera(camera, ":Instant Preview Right", new Rect(0.5f, 0.0f, 0.5f, 1.0f), ref eyeCamera.rightEyeCamera); }
// Use this for initialization void Awake() { if (robot is ICameras) { if ((cameraToDisplay = (robot as ICameras).GetCameraComponent(0)) != null) { cameraTarget.texture = cameraToDisplay.rendTex; } else { Debug.Log("Failed to get camera component"); } } lockButtonImage.sprite = lockedImage; robotNumber.text = "ID # " + robot.objectID.ToString(); robotName.text = robot.name; trailButtonImage.color = robot.trail.enabled ? Color.white : Color.grey; if (robot is IVWDrive) { toggleVWAccurate.isOn = (robot as IVWDrive).VWAccurate; } if (robot is IPSDSensors) { if ((psdController = robot.GetComponent <PSDController>()) == null) { Debug.Log("No PSD Controller"); } if ((robot as IPSDSensors).UseGlobalError) { psdMeanError.text = PSDController.globalMean.ToString("N2"); psdStdDevError.text = PSDController.globalStdDev.ToString("N2"); } else { psdMeanError.text = (robot as IPSDSensors).MeanError.ToString("N2"); psdStdDevError.text = (robot as IPSDSensors).StdDevError.ToString("N2"); } useGlobalError = (robot as IPSDSensors).UseGlobalError; } visualiseToggle.isOn = SimManager.instance.defaultVis; SaltPepperNoiseToggle(false); GaussianNoiseToggle(false); PSDErrorEnabled(false); SimManager.instance.OnPause += OnSimPaused; SimManager.instance.OnResume += OnSimResumed; }