Açıklama Yok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DepthOfFieldEditor.cs 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using UnityEngine.Rendering.Universal;
  2. namespace UnityEditor.Rendering.Universal
  3. {
  4. [CustomEditor(typeof(DepthOfField))]
  5. sealed class DepthOfFieldEditor : VolumeComponentEditor
  6. {
  7. SerializedDataParameter m_Mode;
  8. SerializedDataParameter m_GaussianStart;
  9. SerializedDataParameter m_GaussianEnd;
  10. SerializedDataParameter m_GaussianMaxRadius;
  11. SerializedDataParameter m_HighQualitySampling;
  12. SerializedDataParameter m_FocusDistance;
  13. SerializedDataParameter m_FocalLength;
  14. SerializedDataParameter m_Aperture;
  15. SerializedDataParameter m_BladeCount;
  16. SerializedDataParameter m_BladeCurvature;
  17. SerializedDataParameter m_BladeRotation;
  18. public override void OnEnable()
  19. {
  20. var o = new PropertyFetcher<DepthOfField>(serializedObject);
  21. m_Mode = Unpack(o.Find(x => x.mode));
  22. m_GaussianStart = Unpack(o.Find(x => x.gaussianStart));
  23. m_GaussianEnd = Unpack(o.Find(x => x.gaussianEnd));
  24. m_GaussianMaxRadius = Unpack(o.Find(x => x.gaussianMaxRadius));
  25. m_HighQualitySampling = Unpack(o.Find(x => x.highQualitySampling));
  26. m_FocusDistance = Unpack(o.Find(x => x.focusDistance));
  27. m_FocalLength = Unpack(o.Find(x => x.focalLength));
  28. m_Aperture = Unpack(o.Find(x => x.aperture));
  29. m_BladeCount = Unpack(o.Find(x => x.bladeCount));
  30. m_BladeCurvature = Unpack(o.Find(x => x.bladeCurvature));
  31. m_BladeRotation = Unpack(o.Find(x => x.bladeRotation));
  32. }
  33. public override void OnInspectorGUI()
  34. {
  35. PropertyField(m_Mode);
  36. if (m_Mode.value.intValue == (int)DepthOfFieldMode.Gaussian)
  37. {
  38. PropertyField(m_GaussianStart, EditorGUIUtility.TrTextContent("Start"));
  39. PropertyField(m_GaussianEnd, EditorGUIUtility.TrTextContent("End"));
  40. PropertyField(m_GaussianMaxRadius, EditorGUIUtility.TrTextContent("Max Radius"));
  41. PropertyField(m_HighQualitySampling);
  42. }
  43. else if (m_Mode.value.intValue == (int)DepthOfFieldMode.Bokeh)
  44. {
  45. PropertyField(m_FocusDistance);
  46. PropertyField(m_FocalLength);
  47. PropertyField(m_Aperture);
  48. PropertyField(m_BladeCount);
  49. PropertyField(m_BladeCurvature);
  50. PropertyField(m_BladeRotation);
  51. }
  52. }
  53. }
  54. }