Пример #1
0
    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);
        }
    }
Пример #2
0
        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;
    }