BloomEditor.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using UnityEngine.Rendering.PostProcessing;
  2. namespace UnityEditor.Rendering.PostProcessing
  3. {
  4. [PostProcessEditor(typeof(Bloom))]
  5. internal sealed class BloomEditor : PostProcessEffectEditor<Bloom>
  6. {
  7. SerializedParameterOverride m_Intensity;
  8. SerializedParameterOverride m_Threshold;
  9. SerializedParameterOverride m_SoftKnee;
  10. SerializedParameterOverride m_Clamp;
  11. SerializedParameterOverride m_Diffusion;
  12. SerializedParameterOverride m_AnamorphicRatio;
  13. SerializedParameterOverride m_Color;
  14. SerializedParameterOverride m_FastMode;
  15. SerializedParameterOverride m_DirtTexture;
  16. SerializedParameterOverride m_DirtIntensity;
  17. public override void OnEnable()
  18. {
  19. m_Intensity = FindParameterOverride(x => x.intensity);
  20. m_Threshold = FindParameterOverride(x => x.threshold);
  21. m_SoftKnee = FindParameterOverride(x => x.softKnee);
  22. m_Clamp = FindParameterOverride(x => x.clamp);
  23. m_Diffusion = FindParameterOverride(x => x.diffusion);
  24. m_AnamorphicRatio = FindParameterOverride(x => x.anamorphicRatio);
  25. m_Color = FindParameterOverride(x => x.color);
  26. m_FastMode = FindParameterOverride(x => x.fastMode);
  27. m_DirtTexture = FindParameterOverride(x => x.dirtTexture);
  28. m_DirtIntensity = FindParameterOverride(x => x.dirtIntensity);
  29. }
  30. public override void OnInspectorGUI()
  31. {
  32. EditorUtilities.DrawHeaderLabel("Bloom");
  33. PropertyField(m_Intensity);
  34. PropertyField(m_Threshold);
  35. PropertyField(m_SoftKnee);
  36. PropertyField(m_Clamp);
  37. PropertyField(m_Diffusion);
  38. PropertyField(m_AnamorphicRatio);
  39. PropertyField(m_Color);
  40. PropertyField(m_FastMode);
  41. if (m_FastMode.overrideState.boolValue && !m_FastMode.value.boolValue && EditorUtilities.isTargetingConsolesOrMobiles)
  42. EditorGUILayout.HelpBox("For performance reasons it is recommended to use Fast Mode on mobile and console platforms.", MessageType.Warning);
  43. EditorGUILayout.Space();
  44. EditorUtilities.DrawHeaderLabel("Dirtiness");
  45. PropertyField(m_DirtTexture);
  46. PropertyField(m_DirtIntensity);
  47. if (RuntimeUtilities.isVREnabled)
  48. {
  49. if ((m_DirtIntensity.overrideState.boolValue && m_DirtIntensity.value.floatValue > 0f)
  50. || (m_DirtTexture.overrideState.boolValue && m_DirtTexture.value.objectReferenceValue != null))
  51. EditorGUILayout.HelpBox("Using a dirt texture in VR is not recommended.", MessageType.Warning);
  52. }
  53. }
  54. }
  55. }