public static void SaveSettings(VirtualCVCameraParams _param) { param = _param; try { using (StreamWriter outputFile = new StreamWriter(settingFilePath)) { outputFile.WriteLine($"usePhysicalCamera={param.usePhysicalCamera}"); outputFile.WriteLine($"useDepthCameara={param.useDepthCameara}"); outputFile.WriteLine($"useStereoCamera={param.useStereoCamera}"); outputFile.WriteLine($"textureWidth={param.textureWidth}"); outputFile.WriteLine($"textureHeight={param.textureHeight}"); outputFile.WriteLine($"fov={param.fov}"); outputFile.WriteLine($"fps={param.fps}"); outputFile.WriteLine($"focal_length={param.focal_length}"); outputFile.WriteLine($"ipd={param.ipd}"); outputFile.WriteLine($"python_script={param.python_script}"); } } catch (Exception e) { VirtualCVLog.LogE($"fail to save settings : {e}"); } }
void OnGUI() { GUILayout.Label("Camera settings", EditorStyles.boldLabel); param.usePhysicalCamera = EditorGUILayout.Toggle("Use physical camera", param.usePhysicalCamera); param.useDepthCameara = EditorGUILayout.Toggle("Use depth camera", param.useDepthCameara); EditorGUILayout.Space(); param.textureWidth = EditorGUILayout.IntField("Texture width", param.textureWidth); param.textureHeight = EditorGUILayout.IntField("Texture height", param.textureHeight); EditorGUILayout.Space(); param.fov = EditorGUILayout.FloatField("Field of view", param.fov); param.fps = EditorGUILayout.IntField("FPS", param.fps); param.focal_length = EditorGUILayout.FloatField("Focal length", param.focal_length); EditorGUILayout.Space(); param.useStereoCamera = EditorGUILayout.Toggle("Use stereo camera", param.useStereoCamera); param.ipd = EditorGUILayout.FloatField("Interpupillary distance", param.ipd); EditorGUILayout.Space(); if (GUILayout.Button("Save settings")) { VirtualCVLog.Log("Settings saved"); VirtualCVSettings.SaveSettings(param); } if (GUILayout.Button("Apply to camera")) { ApplyCamera(); } EditorGUILayout.Space(); int selectedPythonScript = GetPythonScriptIndex(param.python_script); selectedPythonScript = EditorGUILayout.Popup("Python script", selectedPythonScript, pythonFiles); param.python_script = pythonFiles[selectedPythonScript]; if (GUILayout.Button("Launch the script")) { if (Application.isPlaying) { PythonExecutor.getInstance().ExecutePython(param.python_script); } else { VirtualCVLog.LogE("It's able to run only when Unity is playing."); } } }
public static VirtualCVCameraParams LoadSettings() { try { string line; using (var sr = new StreamReader(settingFilePath)) { while ((line = sr.ReadLine()) != null) { if (line.Contains("usePhysicalCamera")) { param.usePhysicalCamera = GetValue <bool>(line); } if (line.Contains("useDepthCameara")) { param.useDepthCameara = GetValue <bool>(line); } if (line.Contains("useStereoCamera")) { param.useStereoCamera = GetValue <bool>(line); } if (line.Contains("textureWidth")) { param.textureWidth = GetValue <int>(line); } if (line.Contains("textureHeight")) { param.textureHeight = GetValue <int>(line); } if (line.Contains("fov")) { param.fov = GetValue <float>(line); } if (line.Contains("fps")) { param.fps = GetValue <int>(line); } if (line.Contains("focal_length")) { param.focal_length = GetValue <float>(line); } if (line.Contains("ipd")) { param.ipd = GetValue <float>(line); } if (line.Contains("python_script")) { param.python_script = GetValue <string>(line); } } } } catch (Exception e) { VirtualCVLog.LogE($"fail to read settings file : {e}"); // return default parameters param.usePhysicalCamera = false; param.useDepthCameara = false; param.useStereoCamera = false; param.textureWidth = 640; param.textureHeight = 480; param.fov = 60; param.fps = 20; param.focal_length = 50; param.ipd = 1.0f; param.python_script = "opencv.py"; } return(param); }