您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

57 行
2.3 KiB

using UnityEditor;
using UnityEngine;
[CustomEditor (typeof(VignetteAndChromaticAberration))]
class VignetteAndChromaticAberrationEditor : Editor
{
SerializedObject serObj;
SerializedProperty mode;
SerializedProperty intensity; // intensity == 0 disables pre pass (optimization)
SerializedProperty chromaticAberration;
SerializedProperty axialAberration;
SerializedProperty blur; // blur == 0 disables blur pass (optimization)
SerializedProperty blurSpread;
SerializedProperty blurDistance;
SerializedProperty luminanceDependency;
void OnEnable (){
serObj = new SerializedObject (target);
mode = serObj.FindProperty ("mode");
intensity = serObj.FindProperty ("intensity");
chromaticAberration = serObj.FindProperty ("chromaticAberration");
axialAberration = serObj.FindProperty ("axialAberration");
blur = serObj.FindProperty ("blur");
blurSpread = serObj.FindProperty ("blurSpread");
luminanceDependency = serObj.FindProperty ("luminanceDependency");
blurDistance = serObj.FindProperty ("blurDistance");
}
public override void OnInspectorGUI (){
serObj.Update ();
EditorGUILayout.LabelField("Simulates the common lens artifacts 'Vignette' and 'Aberration'", EditorStyles.miniLabel);
EditorGUILayout.PropertyField (intensity, new GUIContent("Vignetting"));
EditorGUILayout.PropertyField (blur, new GUIContent(" Blurred Corners"));
if(blur.floatValue>0.0f)
EditorGUILayout.PropertyField (blurSpread, new GUIContent(" Blur Distance"));
EditorGUILayout.Separator ();
EditorGUILayout.PropertyField (mode, new GUIContent("Aberration"));
if(mode.intValue>0)
{
EditorGUILayout.PropertyField (chromaticAberration, new GUIContent(" Tangential Aberration"));
EditorGUILayout.PropertyField (axialAberration, new GUIContent(" Axial Aberration"));
luminanceDependency.floatValue = EditorGUILayout.Slider(" Contrast Dependency", luminanceDependency.floatValue, 0.001f, 1.0f);
blurDistance.floatValue = EditorGUILayout.Slider(" Blur Distance", blurDistance.floatValue, 0.001f, 5.0f);
}
else
EditorGUILayout.PropertyField (chromaticAberration, new GUIContent(" Chromatic Aberration"));
serObj.ApplyModifiedProperties();
}
}