|
|
- using UnityEngine;
- using UnityEditor;
- [CustomEditor(typeof(RadiusBlur))]
- public class RadiusBlurEditor : Editor
- {
- RadiusBlur radiusBlur;
-
- public float centerX = 0.5f;
- public float centerY = 0.5f;
- [Range(0f, 0.03f)]
- public float radiusOffset = 0;
- [Range(1, 30)]
- public int iteration = 1;
- bool first_loaded = true;
- public override void OnInspectorGUI()
- {
- radiusBlur = target as RadiusBlur;
- ShowRadiusData();
- first_loaded = false;
- }
-
- void ShowRadiusData()
- {
- radiusBlur.radius_material = EditorGUILayout.ObjectField("径向模糊材质", radiusBlur.radius_material, typeof(Material), true) as Material;
-
- Vector3 radius_data = radiusBlur.radius_data;
- centerX = EditorGUILayout.Slider("径向模糊中心X", radius_data.x, 0f, 1f);
- centerY = EditorGUILayout.Slider("径向模糊中心Y", radius_data.y, 0f, 1f);
- radiusOffset = EditorGUILayout.Slider("偏移范围(0~0.03)", radius_data.z, 0.0f, 0.03f);
- iteration = EditorGUILayout.IntSlider("迭代次数Iteration", radiusBlur.iteration, 1, 30);
-
- if(first_loaded ||
- radius_data.x != centerX ||
- radius_data.y != centerY ||
- radius_data.z != radiusOffset ||
- radiusBlur.iteration != iteration)
- {
- radiusBlur.iteration = iteration;
- radiusBlur.radius_data = new Vector3(centerX, centerY, radiusOffset);
- }
- }
-
- void Print(string s)
- {
- Debug.Log(s);
- }
- }
|