63 lines
2.4 KiB
C#
63 lines
2.4 KiB
C#
|
using UnityEngine.Rendering.Universal;
|
||
|
|
||
|
namespace UnityEditor.Rendering.Universal
|
||
|
{
|
||
|
[CustomEditor(typeof(DepthOfField))]
|
||
|
sealed class DepthOfFieldEditor : VolumeComponentEditor
|
||
|
{
|
||
|
SerializedDataParameter m_Mode;
|
||
|
|
||
|
SerializedDataParameter m_GaussianStart;
|
||
|
SerializedDataParameter m_GaussianEnd;
|
||
|
SerializedDataParameter m_GaussianMaxRadius;
|
||
|
SerializedDataParameter m_HighQualitySampling;
|
||
|
|
||
|
SerializedDataParameter m_FocusDistance;
|
||
|
SerializedDataParameter m_FocalLength;
|
||
|
SerializedDataParameter m_Aperture;
|
||
|
SerializedDataParameter m_BladeCount;
|
||
|
SerializedDataParameter m_BladeCurvature;
|
||
|
SerializedDataParameter m_BladeRotation;
|
||
|
|
||
|
public override void OnEnable()
|
||
|
{
|
||
|
var o = new PropertyFetcher<DepthOfField>(serializedObject);
|
||
|
|
||
|
m_Mode = Unpack(o.Find(x => x.mode));
|
||
|
m_GaussianStart = Unpack(o.Find(x => x.gaussianStart));
|
||
|
m_GaussianEnd = Unpack(o.Find(x => x.gaussianEnd));
|
||
|
m_GaussianMaxRadius = Unpack(o.Find(x => x.gaussianMaxRadius));
|
||
|
m_HighQualitySampling = Unpack(o.Find(x => x.highQualitySampling));
|
||
|
|
||
|
m_FocusDistance = Unpack(o.Find(x => x.focusDistance));
|
||
|
m_FocalLength = Unpack(o.Find(x => x.focalLength));
|
||
|
m_Aperture = Unpack(o.Find(x => x.aperture));
|
||
|
m_BladeCount = Unpack(o.Find(x => x.bladeCount));
|
||
|
m_BladeCurvature = Unpack(o.Find(x => x.bladeCurvature));
|
||
|
m_BladeRotation = Unpack(o.Find(x => x.bladeRotation));
|
||
|
}
|
||
|
|
||
|
public override void OnInspectorGUI()
|
||
|
{
|
||
|
PropertyField(m_Mode);
|
||
|
|
||
|
if (m_Mode.value.intValue == (int)DepthOfFieldMode.Gaussian)
|
||
|
{
|
||
|
PropertyField(m_GaussianStart, EditorGUIUtility.TrTextContent("Start"));
|
||
|
PropertyField(m_GaussianEnd, EditorGUIUtility.TrTextContent("End"));
|
||
|
PropertyField(m_GaussianMaxRadius, EditorGUIUtility.TrTextContent("Max Radius"));
|
||
|
PropertyField(m_HighQualitySampling);
|
||
|
}
|
||
|
else if (m_Mode.value.intValue == (int)DepthOfFieldMode.Bokeh)
|
||
|
{
|
||
|
PropertyField(m_FocusDistance);
|
||
|
PropertyField(m_FocalLength);
|
||
|
PropertyField(m_Aperture);
|
||
|
PropertyField(m_BladeCount);
|
||
|
PropertyField(m_BladeCurvature);
|
||
|
PropertyField(m_BladeRotation);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|