源战役客户端
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

47 Zeilen
1.5 KiB

  1. using UnityEngine;
  2. using UnityEditor;
  3. [CustomEditor(typeof(RadiusBlur))]
  4. public class RadiusBlurEditor : Editor
  5. {
  6. RadiusBlur radiusBlur;
  7. public float centerX = 0.5f;
  8. public float centerY = 0.5f;
  9. [Range(0f, 0.03f)]
  10. public float radiusOffset = 0;
  11. [Range(1, 30)]
  12. public int iteration = 1;
  13. bool first_loaded = true;
  14. public override void OnInspectorGUI()
  15. {
  16. radiusBlur = target as RadiusBlur;
  17. ShowRadiusData();
  18. first_loaded = false;
  19. }
  20. void ShowRadiusData()
  21. {
  22. radiusBlur.radius_material = EditorGUILayout.ObjectField("径向模糊材质", radiusBlur.radius_material, typeof(Material), true) as Material;
  23. Vector3 radius_data = radiusBlur.radius_data;
  24. centerX = EditorGUILayout.Slider("径向模糊中心X", radius_data.x, 0f, 1f);
  25. centerY = EditorGUILayout.Slider("径向模糊中心Y", radius_data.y, 0f, 1f);
  26. radiusOffset = EditorGUILayout.Slider("偏移范围(0~0.03)", radius_data.z, 0.0f, 0.03f);
  27. iteration = EditorGUILayout.IntSlider("迭代次数Iteration", radiusBlur.iteration, 1, 30);
  28. if(first_loaded ||
  29. radius_data.x != centerX ||
  30. radius_data.y != centerY ||
  31. radius_data.z != radiusOffset ||
  32. radiusBlur.iteration != iteration)
  33. {
  34. radiusBlur.iteration = iteration;
  35. radiusBlur.radius_data = new Vector3(centerX, centerY, radiusOffset);
  36. }
  37. }
  38. void Print(string s)
  39. {
  40. Debug.Log(s);
  41. }
  42. }