예제 #1
0
    public override void OnInspectorGUI()
    {
        GUILayout.Box(_logo, GUIStyle.none);
        EditorGUILayout.LabelField("Ver. 2.2");

        _screenSaturation.floatValue = EditorGUILayout.Slider("Saturation", Target.screenSaturation, 0.0f, 1.0f);

        _foldChromaticAberration = UEditor.BeginGroup(null, "Chromatic Aberration", _foldChromaticAberration, Color.Lerp(Color.gray, Color.white, 0.4f));
        if (_foldChromaticAberration)
        {
            _chromaticAberrationPattern.objectReferenceValue = EditorGUILayout.ObjectField("Pattern", Target.chromaticAberrationPattern, typeof(Texture), false) as Texture;
            _chromaticAberrationMagnetude.floatValue         = EditorGUILayout.Slider("Magnetude", Target.chromaticAberrationMagnetude, 0.0f, 1.0f);
        }
        UEditor.EndGroup();

        _foldNoise = UEditor.BeginGroup(null, "Noise", _foldNoise, Color.Lerp(Color.gray, Color.white, 0.4f));
        if (_foldNoise)
        {
            _noisePattern.objectReferenceValue = EditorGUILayout.ObjectField("Pattern", Target.noisePattern, typeof(Texture), false) as Texture;
            _noiseMagnetude.floatValue         = EditorGUILayout.Slider("Magnetude", Target.noiseMagnetude, -1.0f, 1.0f);
        }
        UEditor.EndGroup();

        _foldStatic = UEditor.BeginGroup(null, "Static", _foldStatic, Color.Lerp(Color.gray, Color.white, 0.4f));
        if (_foldStatic)
        {
            _staticPattern.objectReferenceValue = EditorGUILayout.ObjectField("Pattern", Target.staticPattern, typeof(Texture), false) as Texture;
            _staticMask.objectReferenceValue    = EditorGUILayout.ObjectField("Mask", Target.staticMask, typeof(Texture), false) as Texture;
            _staticVertical.floatValue          = EditorGUILayout.Slider("Vertical", Target.staticVertical, 0.0f, 1.0f);
            _staticMagnetude.floatValue         = EditorGUILayout.Slider("Magnetude", Target.staticMagnetude, 0.0f, 1.0f);
        }
        UEditor.EndGroup();

        serializedObject.ApplyModifiedProperties();
    }
예제 #2
0
    public override void OnInspectorGUI()
    {
        GUILayout.BeginVertical();
        GUILayout.Box(_logo, GUIStyle.none);
        EditorGUILayout.LabelField("Ver. 2.1");

        //_material.objectReferenceValue = EditorGUILayout.ObjectField( "Material", Target.tvMaterialTube, typeof( Material ), false ) as Material;

        // SCANLINE PROPERTIES
        _foldScanline = UEditor.BeginGroup(null, "Scanline", _foldScanline, Color.Lerp(Color.gray, Color.white, 0.4f));
        if (_foldScanline)
        {
            // Select the scanline texture pattern
            _scanlinePattern.objectReferenceValue = EditorGUILayout.ObjectField("Pattern", Target.scanlinePattern, typeof(Texture), false) as Texture;
            // Adjust the screen resolution for the scanline
            //GUILayout.BeginHorizontal();
            _scanlineCount.intValue      = EditorGUILayout.IntField("Line Count", Target.scanlineCount);
            _scanlineCountAuto.boolValue = EditorGUILayout.Toggle("Auto Line Count", Target.scanlineCountAuto);
            //GUILayout.EndHorizontal();
            if ((target as OLDTVTube).scanlineCountAuto)
            {
                UEditor.BeginBox("Using screen height as line counter.", Color.yellow); UEditor.EndBox();
            }

            // Adjust the scanline bright
            float tMin = Target.scanlineBrightMin;
            float tMax = Target.scanlineBrightMax;
            EditorGUILayout.MinMaxSlider(new GUIContent("Bright"), ref tMin, ref tMax, 0.0f, 1.0f);
            _scanlineBrightMin.floatValue = tMin;
            _scanlineBrightMax.floatValue = tMax;

            _scanlineBrightMin.floatValue = EditorGUILayout.Slider("Min Bright", Target.scanlineBrightMin, 0.0f, 1.0f);
            _scanlineBrightMax.floatValue = EditorGUILayout.Slider("Max Bright", Target.scanlineBrightMax, 0.0f, 1.0f);

            if (_scanlineBrightMin.floatValue > _scanlineBrightMax.floatValue)
            {
                _scanlineBrightMin.floatValue = _scanlineBrightMax.floatValue;
            }
        }
        UEditor.EndGroup();

        // TUBE PROPERTIES
        _foldTube = UEditor.BeginGroup(null, "Tube", _foldTube, Color.Lerp(Color.gray, Color.white, 0.4f));
        if (_foldTube)
        {
            _tubeMask.objectReferenceValue   = EditorGUILayout.ObjectField("Mask", Target.mask, typeof(Texture), false) as Texture;
            _tubeReflex.objectReferenceValue = EditorGUILayout.ObjectField("Reflex", Target.reflex, typeof(Texture), false) as Texture;

            _tubeReflexMagnetude.floatValue  = EditorGUILayout.Slider("Reflex Magnetude", Target.reflexMagnetude, 0.0f, 1.0f);
            _tubeRadialDistortion.floatValue = EditorGUILayout.Slider("Radial Distortion", Target.radialDistortion, -1.0f, 1.0f);

            //_scanlinePattern.objectReferenceValue = EditorGUILayout.ObjectField( "Reflex", _scanlinePattern.objectReferenceValue, typeof( Texture2D ), false ) as Texture2D;
        }
        UEditor.EndGroup();
        GUILayout.EndVertical();

        // Apply the values
        serializedObject.ApplyModifiedProperties();
        Repaint();
    }