/// <summary> /// Inspector. /// </summary> protected override void Inspector() { VideoGlitchCorruptionDigital thisTarget = (VideoGlitchCorruptionDigital)target; thisTarget.Speed = EditorHelper.Slider(@"Speed", @"Effect speed [0.0 - 10.0]. Default 1.0.", thisTarget.Speed, 0.0f, 10.0f, 1.0f); thisTarget.Intensity = EditorHelper.Slider(@"Intensity", @"Corruption strength [0.0 - 1.0]. Default 0.6.", thisTarget.Intensity, 0.0f, 1.0f, 0.6f); thisTarget.Posterize = EditorHelper.Slider(@"Posterize", @"Posterize intensity [0.0 - 1.0]. Default 0.25.", thisTarget.Posterize, 0.0f, 1.0f, 0.25f); thisTarget.TileSize = EditorHelper.IntSlider(@"Tile size", @"Block size [1 - 256]. Default 128.", thisTarget.TileSize, 1, 256, 128); }
private void DrawCustomControls(ImageEffectBase imageEffect) { System.Type type = imageEffect.GetType(); if (type == typeof(VideoGlitchShift)) { VideoGlitchShift effect = imageEffect as VideoGlitchShift; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Amplitude", GUILayout.Width(60)); effect.amplitude = GUILayout.HorizontalSlider(effect.amplitude, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Speed", GUILayout.Width(60)); effect.speed = GUILayout.HorizontalSlider(effect.speed, 0.0f, 0.2f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchNoiseDigital)) { VideoGlitchNoiseDigital effect = imageEffect as VideoGlitchNoiseDigital; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Threshold", GUILayout.Width(60)); effect.threshold = GUILayout.HorizontalSlider(effect.threshold, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Max offset", GUILayout.Width(60)); effect.maxOffset = GUILayout.HorizontalSlider(effect.maxOffset, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Threshold YUV", GUILayout.Width(60)); effect.thresholdYUV = GUILayout.HorizontalSlider(effect.thresholdYUV, 0.0f, 1.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchBlackWhiteDistortion)) { VideoGlitchBlackWhiteDistortion effect = imageEffect as VideoGlitchBlackWhiteDistortion; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Steps", GUILayout.Width(60)); effect.distortionSteps = GUILayout.HorizontalSlider(effect.distortionSteps, 1.0f, 10.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Speed", GUILayout.Width(60)); effect.distortionSpeed = GUILayout.HorizontalSlider(effect.distortionSpeed, 0.0f, 10.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchBrokenScreen)) { VideoGlitchBrokenScreen effect = imageEffect as VideoGlitchBrokenScreen; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Splits", GUILayout.Width(60)); effect.splits = (int)GUILayout.HorizontalSlider(effect.splits, 2.0f, 100.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Threshold", GUILayout.Width(60)); effect.splitThreshold = GUILayout.HorizontalSlider(effect.splitThreshold, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Distortion", GUILayout.Width(60)); effect.distortion = GUILayout.HorizontalSlider(effect.distortion, 0.0f, 1.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchRGBDisplay)) { VideoGlitchRGBDisplay effect = imageEffect as VideoGlitchRGBDisplay; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Cell size", GUILayout.Width(60)); effect.cellSize = (int)GUILayout.HorizontalSlider(effect.cellSize, 1.0f, 10.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchSpectrumOffset)) { VideoGlitchSpectrumOffset effect = imageEffect as VideoGlitchSpectrumOffset; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Strength", GUILayout.Width(60)); effect.strength = GUILayout.HorizontalSlider(effect.strength, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Steps", GUILayout.Width(60)); effect.steps = (int)GUILayout.HorizontalSlider(effect.steps, 3.0f, 10.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchOldTape)) { VideoGlitchOldTape effect = imageEffect as VideoGlitchOldTape; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Speed", GUILayout.Width(60)); effect.noiseSpeed = GUILayout.HorizontalSlider(effect.noiseSpeed, 1.0f, 100.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Amplitude", GUILayout.Width(60)); effect.noiseAmplitude = (int)GUILayout.HorizontalSlider(effect.noiseAmplitude, 1.0f, 100.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchVHSPause)) { VideoGlitchVHSPause effect = imageEffect as VideoGlitchVHSPause; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Strength", GUILayout.Width(60)); effect.strength = GUILayout.HorizontalSlider(effect.strength, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Color noise", GUILayout.Width(80)); effect.colorNoise = GUILayout.HorizontalSlider(effect.colorNoise, 0.0f, 1.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchOldTV)) { VideoGlitchOldTV effect = imageEffect as VideoGlitchOldTV; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("SlowScan", GUILayout.Width(60)); effect.slowScan = GUILayout.HorizontalSlider(effect.slowScan, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("ScanLine", GUILayout.Width(60)); effect.scanLine = GUILayout.HorizontalSlider(effect.scanLine, 0.0f, 2.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Vignette softness", GUILayout.Width(60)); effect.vignetteSoftness = GUILayout.HorizontalSlider(effect.vignetteSoftness, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Vignette scale", GUILayout.Width(60)); effect.vignetteScale = GUILayout.HorizontalSlider(effect.vignetteScale, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Grain opacity", GUILayout.Width(60)); effect.grainOpacity = GUILayout.HorizontalSlider(effect.grainOpacity, 0.0f, 100.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Grain saturation", GUILayout.Width(60)); effect.grainSaturation = GUILayout.HorizontalSlider(effect.grainSaturation, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Scan distort", GUILayout.Width(60)); effect.scanDistort = GUILayout.HorizontalSlider(effect.scanDistort, 0.0f, 10.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Timer", GUILayout.Width(60)); effect.timer = GUILayout.HorizontalSlider(effect.timer, 0.0f, 5.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Speed", GUILayout.Width(60)); effect.speed = GUILayout.HorizontalSlider(effect.speed, 1.0f, 5.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("CRT scale", GUILayout.Width(60)); effect.crtScale = GUILayout.HorizontalSlider(effect.crtScale, 1.0f, 10.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Stripes count", GUILayout.Width(60)); effect.stripesCount = GUILayout.HorizontalSlider(effect.stripesCount, 0.0f, 1000.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Stripes opacity", GUILayout.Width(60)); effect.stripesOpacity = GUILayout.HorizontalSlider(effect.stripesOpacity, 0.0f, 10.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Bars count", GUILayout.Width(60)); effect.barsCount = GUILayout.HorizontalSlider(effect.barsCount, 0.0f, 1000.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Moire opacity", GUILayout.Width(60)); effect.moireOpacity = GUILayout.HorizontalSlider(effect.moireOpacity, 0.0f, 100.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Moire scale", GUILayout.Width(60)); effect.moireScale = GUILayout.HorizontalSlider(effect.moireScale, 0.01f, 100.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("TV lines", GUILayout.Width(60)); effect.tvLines = GUILayout.HorizontalSlider(effect.tvLines, 0.01f, 10.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("TV lines opacity", GUILayout.Width(60)); effect.tvLinesOpacity = GUILayout.HorizontalSlider(effect.tvLinesOpacity, 0.0f, 10.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Vignette tube scale", GUILayout.Width(60)); effect.vignetteTubeScale = GUILayout.HorizontalSlider(effect.vignetteTubeScale, 0.01f, 10.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("TV dots", GUILayout.Width(60)); effect.tvDots = GUILayout.HorizontalSlider(effect.tvDots, 0.0f, 4.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("TV dots blend", GUILayout.Width(60)); effect.tvDotsBlend = GUILayout.HorizontalSlider(effect.tvDotsBlend, 0.0f, 1000.0f); } GUILayout.EndHorizontal(); } } else if (type == typeof(VideoGlitchCorruptionDigital)) { VideoGlitchCorruptionDigital effect = imageEffect as VideoGlitchCorruptionDigital; if (effect != null) { GUILayout.BeginHorizontal(); { GUILayout.Label("Strength", GUILayout.Width(60)); effect.strength = GUILayout.HorizontalSlider(effect.strength, 0.0f, 1.0f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Tile size", GUILayout.Width(60)); effect.tileSize = (int)GUILayout.HorizontalSlider(effect.tileSize, 1.0f, 128.0f); } GUILayout.EndHorizontal(); } } }