private void OnGUI() { if (audioCapture.status == CaptureStatus.STARTED) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Stop Capture")) { audioCapture.StopCapture(); } if (GUI.Button(new Rect(170, Screen.height - 60, 150, 50), "Cancel Capture")) { audioCapture.CancelCapture(); } } else { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Start Capture")) { audioCapture.StartCapture(); } } if (GUI.Button(new Rect(Screen.width - 160, Screen.height - 60, 150, 50), "Browse")) { // Open video save directory Utils.BrowseFolder(audioCapture.saveFolder); } }
private void OnGUI() { if (GUI.Button(new Rect(Screen.width - 160, Screen.height - 60, 150, 50), "Browse")) { // Open video save directory Utils.BrowseFolder(videoCaptureManager.saveFolder); } bool stopped = false; bool pending = false; // check if still processing foreach (VideoCapture videoCapture in videoCaptureManager.videoCaptures) { if (videoCapture.status == CaptureStatus.STOPPED) { stopped = true; break; } if (videoCapture.status == CaptureStatus.PENDING) { pending = true; break; } } if (stopped) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Encoding")) { // Waiting processing end } return; } if (pending) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Muxing")) { // Waiting processing end } return; } if (videoCaptureManager.captureStarted) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Stop Capture")) { videoCaptureManager.StopCapture(); } if (GUI.Button(new Rect(170, Screen.height - 60, 150, 50), "Cancel Capture")) { videoCaptureManager.CancelCapture(); } } else { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Start Capture")) { videoCaptureManager.StartCapture(); } } }
private void OnGUI() { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Take Screenshot")) { screenShot.StartCapture(); } if (GUI.Button(new Rect(Screen.width - 160, Screen.height - 60, 150, 50), "Browse")) { // Open image save directory Utils.BrowseFolder(screenShot.saveFolder); } }
private void OnGUI() { if ( sequenceCapture.status == CaptureStatus.READY) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Start Capture")) { sequenceCapture.StartCapture(); } } else if (sequenceCapture.status == CaptureStatus.STARTED) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Stop Capture")) { sequenceCapture.StopCapture(); } if (GUI.Button(new Rect(170, Screen.height - 60, 150, 50), "Cancel Capture")) { sequenceCapture.CancelCapture(); } } else if (sequenceCapture.status == CaptureStatus.PENDING) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Muxing")) { // Waiting processing end } } else if (sequenceCapture.status == CaptureStatus.STOPPED) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Encoding")) { // Waiting processing end } } if (GUI.Button(new Rect(Screen.width - 160, Screen.height - 60, 150, 50), "Browse")) { // Open video save directory Utils.BrowseFolder(sequenceCapture.saveFolder); } }
public override void OnInspectorGUI() { // Capture Control Section GUILayout.Label("Capture Control", EditorStyles.boldLabel); audioCapture.startOnAwake = EditorGUILayout.Toggle("Start On Awake", audioCapture.startOnAwake); if (audioCapture.startOnAwake) { audioCapture.captureTime = EditorGUILayout.FloatField("Capture Duration (Sec)", audioCapture.captureTime); audioCapture.quitAfterCapture = EditorGUILayout.Toggle("Quit After Capture", audioCapture.quitAfterCapture); } // Capture Options Section GUILayout.Label("Capture Options", EditorStyles.boldLabel); audioCapture.saveFolder = EditorGUILayout.TextField("Save Folder", audioCapture.saveFolder); audioCapture.captureMicrophone = EditorGUILayout.Toggle("Capture Microphone", audioCapture.captureMicrophone); if (audioCapture.captureMicrophone) { audioCapture.deviceIndex = EditorGUILayout.IntField("Device Index", audioCapture.deviceIndex); } //// Tools Section //GUILayout.Label("Tools", EditorStyles.boldLabel); GUILayout.Space(10); if (GUILayout.Button("Browse")) { // Open video save directory Utils.BrowseFolder(audioCapture.saveFolder); } GUILayout.Space(10); if (GUI.changed) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } }
private void OnGUI() { if ( imageCapture.status == CaptureStatus.READY) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Start Capture")) { imageCapture.StartCapture(); } } else if (imageCapture.status == CaptureStatus.STARTED) { if (GUI.Button(new Rect(10, Screen.height - 60, 150, 50), "Encoding")) { // Waiting processing end } } if (GUI.Button(new Rect(Screen.width - 160, Screen.height - 60, 150, 50), "Browse")) { // Open video save directory Utils.BrowseFolder(imageCapture.saveFolder); } }
public override void OnInspectorGUI() { serializedObject.Update(); // Capture Cameras GUILayout.Label("Capture Cameras", EditorStyles.boldLabel); EditorGUILayout.PropertyField(regularCamera, new GUIContent("Regular Camera"), true); EditorGUILayout.PropertyField(stereoCamera, new GUIContent("Stereo Camera"), true); // Capture Control Section GUILayout.Label("Capture Controls", EditorStyles.boldLabel); videoCapture.startOnAwake = EditorGUILayout.Toggle("Start On Awake", videoCapture.startOnAwake); if (videoCapture.startOnAwake) { videoCapture.captureTime = EditorGUILayout.FloatField("Capture Duration (Sec)", videoCapture.captureTime); videoCapture.quitAfterCapture = EditorGUILayout.Toggle("Quit After Capture", videoCapture.quitAfterCapture); } // Capture Options Section GUILayout.Label("Capture Options", EditorStyles.boldLabel); videoCapture.captureSource = (CaptureSource)EditorGUILayout.EnumPopup("Capture Source", videoCapture.captureSource); if (videoCapture.captureSource == CaptureSource.RENDERTEXTURE) { EditorGUILayout.PropertyField(inputTexture, new GUIContent("Render Texture"), true); } videoCapture.captureType = (CaptureType)EditorGUILayout.EnumPopup("Capture Type", videoCapture.captureType); if (videoCapture.captureType == CaptureType.VOD) { videoCapture.saveFolder = EditorGUILayout.TextField("Save Folder", videoCapture.saveFolder); } else if (videoCapture.captureType == CaptureType.LIVE) { videoCapture.liveStreamUrl = EditorGUILayout.TextField("Live Stream Url", videoCapture.liveStreamUrl); } if (videoCapture.captureSource == CaptureSource.CAMERA) { videoCapture.captureMode = (CaptureMode)EditorGUILayout.EnumPopup("Capture Mode", videoCapture.captureMode); if (videoCapture.captureMode == CaptureMode._360) { videoCapture.projectionType = (ProjectionType)EditorGUILayout.EnumPopup("Projection Type", videoCapture.projectionType); } if (videoCapture.captureMode == CaptureMode._360 && videoCapture.projectionType == ProjectionType.CUBEMAP) { videoCapture.stereoMode = StereoMode.NONE; } else { videoCapture.stereoMode = (StereoMode)EditorGUILayout.EnumPopup("Stereo Mode", videoCapture.stereoMode); } if (videoCapture.stereoMode != StereoMode.NONE) { videoCapture.interpupillaryDistance = EditorGUILayout.FloatField("Interpupillary Distance", videoCapture.interpupillaryDistance); } } else { videoCapture.captureMode = CaptureMode.REGULAR; videoCapture.projectionType = ProjectionType.NONE; videoCapture.stereoMode = StereoMode.NONE; } if (videoCapture.captureSource == CaptureSource.SCREEN) { videoCapture.captureCursor = EditorGUILayout.Toggle("Capture Cursor", videoCapture.captureCursor); if (videoCapture.captureCursor) { EditorGUILayout.PropertyField(cursorImage, new GUIContent("Cursor Image"), true); } } videoCapture.captureAudio = EditorGUILayout.Toggle("Capture Audio", videoCapture.captureAudio); if (videoCapture.captureAudio) { videoCapture.captureMicrophone = EditorGUILayout.Toggle("Capture Microphone", videoCapture.captureMicrophone); if (videoCapture.captureMicrophone) { videoCapture.deviceIndex = EditorGUILayout.IntField("Device Index", videoCapture.deviceIndex); } } videoCapture.offlineRender = EditorGUILayout.Toggle("Offline Render", videoCapture.offlineRender); videoCapture.screenBlitter = EditorGUILayout.Toggle("Screen Blitter", videoCapture.screenBlitter); // Capture Options Section GUILayout.Label("Video Settings", EditorStyles.boldLabel); if (videoCapture.captureSource == CaptureSource.CAMERA) { videoCapture.resolutionPreset = (ResolutionPreset)EditorGUILayout.EnumPopup("Resolution Preset", videoCapture.resolutionPreset); if (videoCapture.resolutionPreset == ResolutionPreset.CUSTOM) { videoCapture.frameWidth = EditorGUILayout.IntField("Frame Width", videoCapture.frameWidth); videoCapture.frameHeight = EditorGUILayout.IntField("Frame Height", videoCapture.frameHeight); videoCapture.bitrate = EditorGUILayout.IntField("Bitrate (Kbps)", videoCapture.bitrate); } } else { videoCapture.bitrate = EditorGUILayout.IntField("Bitrate (Kbps)", videoCapture.bitrate); } videoCapture.frameRate = (System.Int16)EditorGUILayout.IntField("Frame Rate", videoCapture.frameRate); videoCapture.verticalFlip = EditorGUILayout.Toggle("Vertical Flip", videoCapture.verticalFlip); videoCapture.horizontalFlip = EditorGUILayout.Toggle("Horizontal Flip", videoCapture.horizontalFlip); if (videoCapture.captureMode == CaptureMode._360) { videoCapture.cubemapFaceSize = (CubemapFaceSize)EditorGUILayout.EnumPopup("Cubemap Face Size", videoCapture.cubemapFaceSize); } videoCapture.antiAliasing = (AntiAliasingSetting)EditorGUILayout.EnumPopup("Anti Aliasing", videoCapture.antiAliasing); if (videoCapture.captureSource == CaptureSource.CAMERA) { videoCapture.transparent = EditorGUILayout.Toggle("Transparent", videoCapture.transparent); } // Capture Options Section GUILayout.Label("Encoder Settings", EditorStyles.boldLabel); videoCapture.encoderPreset = (EncoderPreset)EditorGUILayout.EnumPopup("Encoder Preset", videoCapture.encoderPreset); #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN if (!FreeTrial.Check()) { videoCapture.gpuEncoding = EditorGUILayout.Toggle("GPU Encoding", videoCapture.gpuEncoding); } if (videoCapture.gpuEncoding) { videoCapture.legacyGpuEncoding = EditorGUILayout.Toggle("Legacy GPU Encoding", videoCapture.legacyGpuEncoding); } #endif // Internal Settings GUILayout.Label("Internal Settings", EditorStyles.boldLabel); videoCapture.enableInternalSettings = EditorGUILayout.Toggle("Enable", videoCapture.enableInternalSettings); if (videoCapture.enableInternalSettings) { // Capture Encoder GUILayout.Label("Capture Encoders", EditorStyles.boldLabel); EditorGUILayout.PropertyField(ffmpegEncoder, new GUIContent("FFmpeg Encoder"), true); EditorGUILayout.PropertyField(nvidiaEncoder, new GUIContent("Nvidia Encoder"), true); EditorGUILayout.PropertyField(gpuEncoder, new GUIContent("GPU Encoder"), true); } //// Tools Section //GUILayout.Label("Tools", EditorStyles.boldLabel); GUILayout.Space(10); if (GUILayout.Button("Browse")) { // Open video save directory Utils.BrowseFolder(videoCapture.saveFolder); } //if (GUILayout.Button("Convert Last Video to WMV")) //{ // Utils.ConvertVideoWmv(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to AVI")) //{ // Utils.ConvertVideoAvi(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to FLV")) //{ // Utils.ConvertVideoFlv(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to MKV")) //{ // Utils.ConvertVideoMkv(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to GIF")) //{ // Utils.ConvertVideoGif(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Encode Last Video to 4K")) //{ // Utils.EncodeVideo4K(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Encode Last Video to 8K")) //{ // Utils.EncodeVideo8K(VideoSaveUtils.lastVideoFile); //} GUILayout.Space(10); if (GUI.changed) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } // Apply changes to the serializedProperty - always do this at the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { // Capture Control Section GUILayout.Label("Capture Control", EditorStyles.boldLabel); manager.startOnAwake = EditorGUILayout.Toggle("Start On Awake", manager.startOnAwake); if (manager.startOnAwake) { manager.captureTime = EditorGUILayout.FloatField("Capture Duration (Sec)", manager.captureTime); manager.quitAfterCapture = EditorGUILayout.Toggle("Quit After Capture", manager.quitAfterCapture); } // Capture Options Section GUILayout.Label("Capture Options", EditorStyles.boldLabel); manager.saveFolder = EditorGUILayout.TextField("Save Folder", manager.saveFolder); manager.captureMode = (CaptureMode)EditorGUILayout.EnumPopup("Capture Mode", manager.captureMode); if (manager.captureMode == CaptureMode._360) { manager.projectionType = (ProjectionType)EditorGUILayout.EnumPopup("Projection Type", manager.projectionType); } if (manager.captureMode == CaptureMode._360 && manager.projectionType == ProjectionType.CUBEMAP) { manager.stereoMode = StereoMode.NONE; } else { manager.stereoMode = (StereoMode)EditorGUILayout.EnumPopup("Stereo Mode", manager.stereoMode); } if (manager.stereoMode != StereoMode.NONE) { manager.interpupillaryDistance = EditorGUILayout.FloatField("Interpupillary Distance", manager.interpupillaryDistance); } manager.captureAudio = EditorGUILayout.Toggle("Capture Audio", manager.captureAudio); if (manager.captureAudio) { manager.captureMicrophone = EditorGUILayout.Toggle("Capture Microphone", manager.captureMicrophone); if (manager.captureMicrophone) { manager.deviceIndex = EditorGUILayout.IntField("Device Index", manager.deviceIndex); } } manager.offlineRender = EditorGUILayout.Toggle("Offline Render", manager.offlineRender); // Capture Options Section GUILayout.Label("Video Settings", EditorStyles.boldLabel); manager.resolutionPreset = (ResolutionPreset)EditorGUILayout.EnumPopup("Resolution Preset", manager.resolutionPreset); if (manager.resolutionPreset == ResolutionPreset.CUSTOM) { manager.frameWidth = EditorGUILayout.IntField("Frame Width", manager.frameWidth); manager.frameHeight = EditorGUILayout.IntField("Frame Height", manager.frameHeight); manager.bitrate = EditorGUILayout.IntField("Bitrate (Kbps)", manager.bitrate); } manager.frameRate = (System.Int16)EditorGUILayout.IntField("Frame Rate", manager.frameRate); if (manager.captureMode == CaptureMode._360) { manager.cubemapFaceSize = (CubemapFaceSize)EditorGUILayout.EnumPopup("Cubemap Face Size", manager.cubemapFaceSize); } manager.antiAliasing = (AntiAliasingSetting)EditorGUILayout.EnumPopup("Anti Aliasing", manager.antiAliasing); // Capture Options Section GUILayout.Label("Encoder Settings", EditorStyles.boldLabel); if (!manager.gpuEncoding) { manager.encoderPreset = (EncoderPreset)EditorGUILayout.EnumPopup("Encoder Preset", manager.encoderPreset); } #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN if (!FreeTrial.Check()) { manager.gpuEncoding = EditorGUILayout.Toggle("GPU Encoding", manager.gpuEncoding); } #endif serializedObject.Update(); EditorGUILayout.PropertyField(videoCaptures, new GUIContent("Video Captures"), true); // Apply changes to the serializedProperty - always do this at the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); //// Tools Section //GUILayout.Label("Tools", EditorStyles.boldLabel); GUILayout.Space(10); if (GUILayout.Button("Browse")) { // Open video save directory Utils.BrowseFolder(manager.saveFolder); } GUILayout.Space(10); if (GUI.changed) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } }
public override void OnInspectorGUI() { // Capture Cameras GUILayout.Label("Capture Cameras", EditorStyles.boldLabel); EditorGUILayout.PropertyField(regularCamera, new GUIContent("Regular Camera"), true); EditorGUILayout.PropertyField(stereoCamera, new GUIContent("Stereo Camera"), true); // Capture Options Section GUILayout.Label("Capture Options", EditorStyles.boldLabel); screenshot.saveFolder = EditorGUILayout.TextField("Save Folder", screenshot.saveFolder); screenshot.captureMode = (CaptureMode)EditorGUILayout.EnumPopup("Capture Mode", screenshot.captureMode); if (screenshot.captureMode == CaptureMode._360) { screenshot.projectionType = (ProjectionType)EditorGUILayout.EnumPopup("Projection Type", screenshot.projectionType); } if (screenshot.captureMode == CaptureMode._360 && screenshot.projectionType == ProjectionType.CUBEMAP) { screenshot.stereoMode = StereoMode.NONE; } else { screenshot.stereoMode = (StereoMode)EditorGUILayout.EnumPopup("Stereo Mode", screenshot.stereoMode); } if (screenshot.stereoMode != StereoMode.NONE) { screenshot.interpupillaryDistance = EditorGUILayout.FloatField("Interpupillary Distance", screenshot.interpupillaryDistance); } // Capture Options Section GUILayout.Label("Screenshot Settings", EditorStyles.boldLabel); screenshot.resolutionPreset = (ResolutionPreset)EditorGUILayout.EnumPopup("Resolution Preset", screenshot.resolutionPreset); if (screenshot.resolutionPreset == ResolutionPreset.CUSTOM) { screenshot.frameWidth = EditorGUILayout.IntField("Frame Width", screenshot.frameWidth); screenshot.frameHeight = EditorGUILayout.IntField("Frame Height", screenshot.frameHeight); } if (screenshot.captureMode == CaptureMode._360) { screenshot.cubemapFaceSize = (CubemapFaceSize)EditorGUILayout.EnumPopup("Cubemap Face Size", screenshot.cubemapFaceSize); } screenshot.antiAliasingSetting = (AntiAliasingSetting)EditorGUILayout.EnumPopup("Anti Aliasing Settings", screenshot.antiAliasingSetting); #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN // Capture Options Section GUILayout.Label("Encoder Settings", EditorStyles.boldLabel); if (!FreeTrial.Check()) { screenshot.gpuEncoding = EditorGUILayout.Toggle("GPU Encoding", screenshot.gpuEncoding); } #endif //// Tools Section //GUILayout.Label("Tools", EditorStyles.boldLabel); GUILayout.Space(10); if (GUILayout.Button("Browse")) { // Open video save directory Utils.BrowseFolder(screenshot.saveFolder); } if (GUI.changed) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } // Apply changes to the serializedProperty - always do this at the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); // Capture Cameras GUILayout.Label("Capture Cameras", EditorStyles.boldLabel); EditorGUILayout.PropertyField(regularCamera, new GUIContent("Regular Camera"), true); EditorGUILayout.PropertyField(stereoCamera, new GUIContent("Stereo Camera"), true); // Capture Control Section GUILayout.Label("Capture Controls", EditorStyles.boldLabel); sequenceCapture.startOnAwake = EditorGUILayout.Toggle("Start On Awake", sequenceCapture.startOnAwake); if (sequenceCapture.startOnAwake) { sequenceCapture.captureTime = EditorGUILayout.FloatField("Capture Duration (Sec)", sequenceCapture.captureTime); sequenceCapture.quitAfterCapture = EditorGUILayout.Toggle("Quit After Capture", sequenceCapture.quitAfterCapture); } // Capture Options Section GUILayout.Label("Capture Options", EditorStyles.boldLabel); sequenceCapture.captureSource = (CaptureSource)EditorGUILayout.EnumPopup("Capture Source", sequenceCapture.captureSource); if (sequenceCapture.captureSource == CaptureSource.RENDERTEXTURE) { EditorGUILayout.PropertyField(inputTexture, new GUIContent("Render Texture"), true); } sequenceCapture.captureType = (CaptureType)EditorGUILayout.EnumPopup("Capture Type", sequenceCapture.captureType); sequenceCapture.saveFolder = EditorGUILayout.TextField("Save Folder", sequenceCapture.saveFolder); if (sequenceCapture.captureSource == CaptureSource.CAMERA) { sequenceCapture.captureMode = (CaptureMode)EditorGUILayout.EnumPopup("Capture Mode", sequenceCapture.captureMode); if (sequenceCapture.captureMode == CaptureMode._360) { sequenceCapture.projectionType = (ProjectionType)EditorGUILayout.EnumPopup("Projection Type", sequenceCapture.projectionType); } if (sequenceCapture.captureMode == CaptureMode._360 && sequenceCapture.projectionType == ProjectionType.CUBEMAP) { sequenceCapture.stereoMode = StereoMode.NONE; } else { sequenceCapture.stereoMode = (StereoMode)EditorGUILayout.EnumPopup("Stereo Mode", sequenceCapture.stereoMode); } if (sequenceCapture.stereoMode != StereoMode.NONE) { sequenceCapture.interpupillaryDistance = EditorGUILayout.FloatField("Interpupillary Distance", sequenceCapture.interpupillaryDistance); } } else { sequenceCapture.captureMode = CaptureMode.REGULAR; sequenceCapture.projectionType = ProjectionType.NONE; sequenceCapture.stereoMode = StereoMode.NONE; } if (sequenceCapture.captureSource == CaptureSource.SCREEN) { sequenceCapture.captureCursor = EditorGUILayout.Toggle("Capture Cursor", sequenceCapture.captureCursor); if (sequenceCapture.captureCursor) { EditorGUILayout.PropertyField(cursorImage, new GUIContent("Cursor Image"), true); } } // Capture Options Section GUILayout.Label("Image Settings", EditorStyles.boldLabel); sequenceCapture.imageFormat = (ImageFormat)EditorGUILayout.EnumPopup("Image Format", sequenceCapture.imageFormat); if (sequenceCapture.imageFormat == ImageFormat.JPEG) { sequenceCapture.jpgQuality = EditorGUILayout.IntField("Encode Quality", sequenceCapture.jpgQuality); } if (sequenceCapture.captureSource == CaptureSource.CAMERA) { sequenceCapture.resolutionPreset = (ResolutionPreset)EditorGUILayout.EnumPopup("Resolution Preset", sequenceCapture.resolutionPreset); if (sequenceCapture.resolutionPreset == ResolutionPreset.CUSTOM) { sequenceCapture.frameWidth = EditorGUILayout.IntField("Frame Width", sequenceCapture.frameWidth); sequenceCapture.frameHeight = EditorGUILayout.IntField("Frame Height", sequenceCapture.frameHeight); //sequenceCapture.bitrate = EditorGUILayout.IntField("Bitrate (Kbps)", sequenceCapture.bitrate); } } sequenceCapture.frameRate = (System.Int16)EditorGUILayout.IntField("Frame Rate", sequenceCapture.frameRate); if (sequenceCapture.captureMode == CaptureMode._360) { sequenceCapture.cubemapFaceSize = (CubemapFaceSize)EditorGUILayout.EnumPopup("Cubemap Face Size", sequenceCapture.cubemapFaceSize); } sequenceCapture.antiAliasing = (AntiAliasingSetting)EditorGUILayout.EnumPopup("Anti Aliasing", sequenceCapture.antiAliasing); if (sequenceCapture.captureSource == CaptureSource.CAMERA) { sequenceCapture.transparent = EditorGUILayout.Toggle("Transparent", sequenceCapture.transparent); } // Capture Options Section GUILayout.Label("Encoder Settings", EditorStyles.boldLabel); sequenceCapture.encodeFromImages = EditorGUILayout.Toggle("Encode Video From Images", sequenceCapture.encodeFromImages); if (sequenceCapture.encodeFromImages) { sequenceCapture.encoderPreset = (EncoderPreset)EditorGUILayout.EnumPopup("Encoder Preset", sequenceCapture.encoderPreset); sequenceCapture.cleanImages = EditorGUILayout.Toggle("Clean Images After Encode", sequenceCapture.cleanImages); } //// Tools Section //GUILayout.Label("Tools", EditorStyles.boldLabel); GUILayout.Space(10); if (GUILayout.Button("Browse")) { // Open video save directory Utils.BrowseFolder(sequenceCapture.saveFolder); } //if (GUILayout.Button("Convert Last Video to WMV")) //{ // Utils.ConvertVideoWmv(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to AVI")) //{ // Utils.ConvertVideoAvi(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to FLV")) //{ // Utils.ConvertVideoFlv(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to MKV")) //{ // Utils.ConvertVideoMkv(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Convert Last Video to GIF")) //{ // Utils.ConvertVideoGif(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Encode Last Video to 4K")) //{ // Utils.EncodeVideo4K(VideoSaveUtils.lastVideoFile); //} //if (GUILayout.Button("Encode Last Video to 8K")) //{ // Utils.EncodeVideo8K(VideoSaveUtils.lastVideoFile); //} GUILayout.Space(10); if (GUI.changed) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } // Apply changes to the serializedProperty - always do this at the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); // Capture Cameras GUILayout.Label("Capture Cameras", EditorStyles.boldLabel); EditorGUILayout.PropertyField(regularCamera, new GUIContent("Regular Camera"), true); EditorGUILayout.PropertyField(stereoCamera, new GUIContent("Stereo Camera"), true); // Capture Options Section GUILayout.Label("Capture Options", EditorStyles.boldLabel); imageCapture.captureSource = (CaptureSource)EditorGUILayout.EnumPopup("Capture Source", imageCapture.captureSource); if (imageCapture.captureSource == CaptureSource.RENDERTEXTURE) { EditorGUILayout.PropertyField(inputTexture, new GUIContent("Render Texture"), true); } imageCapture.saveFolder = EditorGUILayout.TextField("Save Folder", imageCapture.saveFolder); if (imageCapture.captureSource == CaptureSource.CAMERA) { imageCapture.captureMode = (CaptureMode)EditorGUILayout.EnumPopup("Capture Mode", imageCapture.captureMode); if (imageCapture.captureMode == CaptureMode._360) { imageCapture.projectionType = (ProjectionType)EditorGUILayout.EnumPopup("Projection Type", imageCapture.projectionType); } if (imageCapture.captureMode == CaptureMode._360 && imageCapture.projectionType == ProjectionType.CUBEMAP) { imageCapture.stereoMode = StereoMode.NONE; } else { imageCapture.stereoMode = (StereoMode)EditorGUILayout.EnumPopup("Stereo Mode", imageCapture.stereoMode); } if (imageCapture.stereoMode != StereoMode.NONE) { imageCapture.interpupillaryDistance = EditorGUILayout.FloatField("Interpupillary Distance", imageCapture.interpupillaryDistance); } } else { imageCapture.captureMode = CaptureMode.REGULAR; imageCapture.projectionType = ProjectionType.NONE; imageCapture.stereoMode = StereoMode.NONE; } if (imageCapture.captureSource == CaptureSource.SCREEN) { imageCapture.captureCursor = EditorGUILayout.Toggle("Capture Cursor", imageCapture.captureCursor); if (imageCapture.captureCursor) { EditorGUILayout.PropertyField(cursorImage, new GUIContent("Cursor Image"), true); } } // Capture Options Section GUILayout.Label("Image Settings", EditorStyles.boldLabel); imageCapture.imageFormat = (ImageFormat)EditorGUILayout.EnumPopup("Image Format", imageCapture.imageFormat); if (imageCapture.imageFormat == ImageFormat.JPEG) { imageCapture.jpgQuality = EditorGUILayout.IntField("Encode Quality", imageCapture.jpgQuality); } if (imageCapture.captureSource == CaptureSource.CAMERA) { imageCapture.resolutionPreset = (ResolutionPreset)EditorGUILayout.EnumPopup("Resolution Preset", imageCapture.resolutionPreset); if (imageCapture.resolutionPreset == ResolutionPreset.CUSTOM) { imageCapture.frameWidth = EditorGUILayout.IntField("Frame Width", imageCapture.frameWidth); imageCapture.frameHeight = EditorGUILayout.IntField("Frame Height", imageCapture.frameHeight); } } if (imageCapture.captureMode == CaptureMode._360) { imageCapture.cubemapFaceSize = (CubemapFaceSize)EditorGUILayout.EnumPopup("Cubemap Face Size", imageCapture.cubemapFaceSize); } imageCapture.antiAliasing = (AntiAliasingSetting)EditorGUILayout.EnumPopup("Anti Aliasing", imageCapture.antiAliasing); if (imageCapture.captureSource == CaptureSource.CAMERA) { imageCapture.transparent = EditorGUILayout.Toggle("Transparent", imageCapture.transparent); } //// Tools Section //GUILayout.Label("Tools", EditorStyles.boldLabel); GUILayout.Space(10); if (GUILayout.Button("Capture")) { // Call start capture image imageCapture.StartCapture(); } if (GUILayout.Button("Browse")) { // Open video save directory Utils.BrowseFolder(imageCapture.saveFolder); } GUILayout.Space(10); if (GUI.changed) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } // Apply changes to the serializedProperty - always do this at the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); }