Beispiel #1
0
        private void generateScreenShotOperations()
        {
            if (updateIterators())
            {
                stopwatch.Stop();
                Debug.Log("<color=green>SCREEN SHOT GENERATE TIME:</color>" + stopwatch.ElapsedMilliseconds);
                cameraMode = CameraMode.GeneratingPCD;
                for (int k = 0; k < cameraSet.Count; k++)
                {
                    cameraSet[k].GetComponent <Camera>().enabled = false;
                }
                return;
            }

            ControllerCam cameraScript = cameraSet[cameraIDIterator].GetComponent <ControllerCam>();

            cameraScript.loadLogEntry(recordLog.cameraLog.cameraEntries[cameraLogEntryIterator]);

            cameraSetOrigin.transform.position = recordLog.cameraLog.cameraEntries[cameraLogEntryIterator].position;
            Quaternion quat = new Quaternion();

            quat.eulerAngles = recordLog.cameraLog.cameraEntries[cameraLogEntryIterator].rotation;
            cameraSetOrigin.transform.localRotation = quat;
            cameraSet[cameraIDIterator].GetComponent <Camera>().enabled = true;
            cameraSet[cameraIDIterator].GetComponent <Camera>().Render();
        }
Beispiel #2
0
        private void processModeOperations()
        {
            if (fbd.state == myFileBrowserDialog.BrowserState.Processing)
            {
                return;
            }
            else if (fbd.state == myFileBrowserDialog.BrowserState.Cancelled)
            {
                if (carController != null)
                {
                    carController.wheelColliders[0].brakeTorque = 0;
                    carController.wheelColliders[1].brakeTorque = 0;
                }
                cameraMode = CameraMode.None;
                return;
            }
            else
            {
                saveFolder = fbd.selectedPath + "/" + fbd.saveName;
            }

            Debug.Log("Processing Coordinates");
            StartCoroutine(processHelper());

            Directory.CreateDirectory(saveFolder);

            if (cameraList == null)
            {
                recordLog.laserSettings      = laserScanner;
                recordLog.laserLog.frameRate = laserScanner.frameRate;
                generateLog(saveFolder);
                cameraMode = CameraMode.GeneratingPCD;
                return;
            }
            else
            {
                recordLog.cameraLog.frameRate = int.Parse(transform.Find("Panel").Find("IFframeRate").GetComponent <InputField>().text);
                recordLog.cameraSettings      = new List <CameraSetting>();

                cameraSet       = new List <GameObject>();
                cameraSetOrigin = new GameObject();

                for (int c = 0; c < cameraList.Count; c++)
                {
                    CameraSetting cset = new CameraSetting();
                    cset.fieldOfView = cameraList[c].fieldOfView;
                    cset.id          = cameraList[c].id;
                    cset.position    = cameraList[c].position;
                    cset.pitch       = cameraList[c].pitch;
                    cset.yaw         = cameraList[c].yaw;
                    cset.roll        = cameraList[c].roll;
                    recordLog.cameraSettings.Add(cset);

                    GameObject    camObj    = new GameObject("Cam" + cameraList[c].id, typeof(Camera), typeof(ControllerCam));
                    ControllerCam camScript = camObj.GetComponent <ControllerCam>();
                    camScript.saveFolder = saveFolder;
                    camScript.loadSetting(cameraList[c]);
                    camObj.transform.SetParent(cameraSetOrigin.transform);
                    Directory.CreateDirectory(saveFolder + "/" + camObj.name);
                    cameraSet.Add(camObj);
                }
            }

            generateLog(saveFolder);
            controllerObject.SetActive(false);
            cameraMode = CameraMode.GeneratingScreenShots;

            stopwatch = new System.Diagnostics.Stopwatch();
            stopwatch.Start();
        }