void ChangeFishEyeType(FishEyeType fishEyeType) { useFishEyeFragment = serializedObject.FindProperty("UseFishEyeFragment"); useFishEyeVertex = serializedObject.FindProperty("UseFishEyeVertex"); switch (fishEyeType) { case FishEyeType.UseVertexFishEye: useFishEyeVertex.boolValue = true; useFishEyeFragment.boolValue = false; serializedObject.ApplyModifiedProperties(); break; case FishEyeType.UseFragmentFishEye: useFishEyeFragment.boolValue = true; useFishEyeVertex.boolValue = false; serializedObject.ApplyModifiedProperties(); break; default: break; } if (!useFishEye) { useFishEyeVertex.boolValue = false; useFishEyeFragment.boolValue = false; serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { //Header Texture2D headerImage = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/Scripts/RenderPipeline/Sources/Textures/MobileBaseSRP_Header.psd", typeof(Texture2D)); headerContent = new GUIContent(headerImage); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.Label(headerContent, GUILayout.MaxHeight(30f)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); EditorGUILayout.LabelField(headerHeaderName, EditorStyles.boldLabel); //Vignetting Foldout CustomUi.GuiLineSeparator(1); vignettingFoldout = CustomUi.FoldOut("Vignetting", vignettingFoldout); EditorGUILayout.Separator(); if (vignettingFoldout) { useVignetting = serializedObject.FindProperty("UseVignetting"); vignettingColor = serializedObject.FindProperty("VignettingColor"); vignettingSize = serializedObject.FindProperty("VignettingSize"); vignettingContrast = serializedObject.FindProperty("VignettingContrast"); useVignetting.boolValue = EditorGUILayout.Toggle(useVignettingContent, useVignetting.boolValue); if (useVignetting.boolValue) { vignettingColor.colorValue = EditorGUILayout.ColorField(vignettingColorContent, vignettingColor.colorValue); vignettingSize.floatValue = EditorGUILayout.FloatField(vignettingSizeContent, vignettingSize.floatValue); vignettingContrast.floatValue = EditorGUILayout.FloatField(vignettingContrastContent, vignettingContrast.floatValue); } serializedObject.ApplyModifiedProperties(); } //LUT Foldout CustomUi.GuiLineSeparator(2); lutFoldout = CustomUi.FoldOut("LUT Grading", lutFoldout); EditorGUILayout.Separator(); if (lutFoldout) { useLutGrading = serializedObject.FindProperty("UseLUTGrading"); lutTex = serializedObject.FindProperty("LUTTex"); lutPower = serializedObject.FindProperty("LUTPower"); useLutGrading.boolValue = EditorGUILayout.Toggle(useLutContent, useLutGrading.boolValue); if (useLutGrading.boolValue) { EditorGUILayout.ObjectField(lutTex, lutTexContent); EditorGUILayout.Slider(lutPower, 0.0f, 1.0f, lutPowerContent); } serializedObject.ApplyModifiedProperties(); } //FishEye Foldout CustomUi.GuiLineSeparator(2); fishEyeFoldout = CustomUi.FoldOut("FishEye Distortion", fishEyeFoldout); EditorGUILayout.Separator(); if (fishEyeFoldout) { fishEyePower = serializedObject.FindProperty("FishEyePower"); useFishEye = EditorGUILayout.Toggle(useFishEyeContent, useFishEye); if (useFishEye) { fishEyeType = (FishEyeType)EditorGUILayout.EnumPopup("FishEye Type:", fishEyeType); EditorGUILayout.Slider(fishEyePower, -1.0f, 2.0f, fishEyePowerContent); } ChangeFishEyeType(fishEyeType); serializedObject.ApplyModifiedProperties(); } //Bloom Foldout CustomUi.GuiLineSeparator(2); bloomFoldout = CustomUi.FoldOut("Bloom", bloomFoldout); EditorGUILayout.Separator(); if (bloomFoldout) { useBloom = serializedObject.FindProperty("UseBloom"); bloomIntensity = serializedObject.FindProperty("BloomIntensity"); useBloom.boolValue = EditorGUILayout.Toggle(useBloomContent, useBloom.boolValue); if (useBloom.boolValue) { EditorGUILayout.Slider(bloomIntensity, 0.0f, 5.0f, bloomIntensityContent); } serializedObject.ApplyModifiedProperties(); } //Chromatic Aberration Foldout CustomUi.GuiLineSeparator(2); chromaticAberrationFoldout = CustomUi.FoldOut("Chromatic Aberration", chromaticAberrationFoldout); EditorGUILayout.Separator(); if (chromaticAberrationFoldout) { useChromaticAberration = serializedObject.FindProperty("UseChromaticAberration"); chromaticAberrationOffset = serializedObject.FindProperty("ChromaticAberrationOffset"); chromaticAberrationRadius = serializedObject.FindProperty("ChromaticAberrationRadius"); useChromaticAberration.boolValue = EditorGUILayout.Toggle(useChromaticAberrationContent, useChromaticAberration.boolValue); if (useChromaticAberration.boolValue) { EditorGUILayout.Slider(chromaticAberrationOffset, 0.001f, 0.1f, chromaticAberrationOffsetContent); EditorGUILayout.Slider(chromaticAberrationRadius, 0.0f, 1.0f, chromaticAberrationRadiusContent); } serializedObject.ApplyModifiedProperties(); } //Usage Tip EditorGUILayout.Separator(); EditorGUILayout.HelpBox("To use this Preset in your scene, please add 'MSRP PostProcess Controller' to any object on the scene and assign this preset into it", MessageType.None); //CustomUI.GuiLineSeparator(10); //base.OnInspectorGUI(); }