a+%5.5.1f1ž’’’’’Č0ÅņĆōL.`?^Ł0D7€’’’’€¦€²€Š€¦€¦€¦€#¦€+H€3’’’’€1€1€’’’’@Ž€€ Q€j€ ™€< ¦€H H€Z’’’’ €1€1€’’’’@Ž€€Q€j€Š€g¦€¦€¦€#¦€+v~ € €– €Ÿ €Ø €± €ŗ €Ć €Ģ €Õ €Ž  €ē! €ń" €ū# €$ €% €&Õ€#’’’’'€1€1€’’’’(€Ž€€)H€j€’’’’*€1€1€’’’’+@Ž€€,Q€j€-™€*.Ž€8/AssetMetaDataguiddata[0]data[1]data[2]data[3]pathNametimeCreatedoriginalChangesetoriginalNameoriginalParentHash128originalDigestbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]labelsassetStoreReflicenseType ’’z{ļ@īČć5^(H'7€’’’’€¦€²€ Õ€ Ž€#.€,†€Ä€ Ž€#.€,H€«€’’’’€1€1€’’’’ @Ž€€ Q€j€ Õ€5’’’’ €1€1€’’’’ €Ž€€€j€’’’’€H€›€’’’’€1€1€’’’’@Ž€€Q€j€y€ € Ž€#.€, €I@¾€X @Ž€#.€,H€]’’’’€1€1€’’’’@Ž€€Q€j€H€h’’’’€1€1€’’’’ @Ž€€!Q€j€"H€z’’’’#€1€1€’’’’$@Ž€€%Q€j€&MonoImporterPPtrm_FileIDm_PathIDm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariants’’’8-l'€£ę„hŒĪA,Œ€7€’’’’€¦€²€Õ€ Ž€.€†€Ä€ Ž€.€H€«€’’’’€1€1€’’’’ @Ž€€ Q€j€ H€ź€’’’’ €1€1€’’’’ @Ž€€Q€j€ń€(’’’’€1€1€’’’’€Ž€€€j€’’’’€H€›€’’’’€1€1€’’’’@Ž€€Q€j€y€ € Ž€.€y€< Ž€.€Ž€CH€T’’’’€1€1€’’’’ @Ž€€!Q€j€"H€`’’’’#€1€1€’’’’$@Ž€€%Q€j€&H€l’’’’'€1€1€’’’’(@Ž€€)Q€j€*L€{+PPtrm_FileIDm_PathIDm_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespacem_AssemblyNamem_IsEditorScript˜˜@ąyÆŲM$÷żc¹ŗDš1”Ū‘›šu@Assets/Standard Assets/Editor/ImageEffects/DepthOfFieldEditor.csDepthOfFieldEditor™using System; using UnityEditor; using UnityEditor.AnimatedValues; using UnityEngine; namespace UnityStandardAssets.ImageEffects { [CustomEditor(typeof(DepthOfField))] class DepthOfFieldEditor : Editor { SerializedObject serObj; SerializedProperty visualizeFocus; SerializedProperty focalLength; SerializedProperty focalSize; SerializedProperty aperture; SerializedProperty focalTransform; SerializedProperty maxBlurSize; SerializedProperty highResolution; SerializedProperty blurType; SerializedProperty blurSampleCount; SerializedProperty nearBlur; SerializedProperty foregroundOverlap; SerializedProperty dx11BokehThreshold; SerializedProperty dx11SpawnHeuristic; SerializedProperty dx11BokehTexture; SerializedProperty dx11BokehScale; SerializedProperty dx11BokehIntensity; AnimBool showFocalDistance = new AnimBool(); AnimBool showDiscBlurSettings = new AnimBool(); AnimBool showDX11BlurSettings = new AnimBool(); AnimBool showNearBlurOverlapSize = new AnimBool(); bool useFocalDistance { get { return focalTransform.objectReferenceValue == null; } } bool useDiscBlur { get { return blurType.enumValueIndex < 1; } } bool useDX11Blur { get { return blurType.enumValueIndex > 0; } } bool useNearBlur { get { return nearBlur.boolValue; } } void OnEnable() { serObj = new SerializedObject(target); visualizeFocus = serObj.FindProperty("visualizeFocus"); focalLength = serObj.FindProperty("focalLength"); focalSize = serObj.FindProperty("focalSize"); aperture = serObj.FindProperty("aperture"); focalTransform = serObj.FindProperty("focalTransform"); maxBlurSize = serObj.FindProperty("maxBlurSize"); highResolution = serObj.FindProperty("highResolution"); blurType = serObj.FindProperty("blurType"); blurSampleCount = serObj.FindProperty("blurSampleCount"); nearBlur = serObj.FindProperty("nearBlur"); foregroundOverlap = serObj.FindProperty("foregroundOverlap"); dx11BokehThreshold = serObj.FindProperty("dx11BokehThreshold"); dx11SpawnHeuristic = serObj.FindProperty("dx11SpawnHeuristic"); dx11BokehTexture = serObj.FindProperty("dx11BokehTexture"); dx11BokehScale = serObj.FindProperty("dx11BokehScale"); dx11BokehIntensity = serObj.FindProperty("dx11BokehIntensity"); InitializedAnimBools(); } void InitializedAnimBools() { showFocalDistance.valueChanged.AddListener(Repaint); showFocalDistance.value = useFocalDistance; showDiscBlurSettings.valueChanged.AddListener(Repaint); showDiscBlurSettings.value = useDiscBlur; showDX11BlurSettings.valueChanged.AddListener(Repaint); showDX11BlurSettings.value = useDX11Blur; showNearBlurOverlapSize.valueChanged.AddListener(Repaint); showNearBlurOverlapSize.value = useNearBlur; } void UpdateAnimBoolTargets() { showFocalDistance.target = useFocalDistance; showDiscBlurSettings.target = useDiscBlur; showDX11BlurSettings.target = useDX11Blur; showNearBlurOverlapSize.target = useNearBlur; } public override void OnInspectorGUI() { serObj.Update(); UpdateAnimBoolTargets(); EditorGUILayout.LabelField("Simulates camera lens defocus", EditorStyles.miniLabel); GUILayout.Label("Focal Settings"); EditorGUILayout.PropertyField(visualizeFocus, new GUIContent(" Visualize")); EditorGUILayout.PropertyField(focalTransform, new GUIContent(" Focus on Transform")); if (EditorGUILayout.BeginFadeGroup(showFocalDistance.faded)) { EditorGUILayout.PropertyField(focalLength, new GUIContent(" Focal Distance")); } EditorGUILayout.EndFadeGroup(); EditorGUILayout.Slider(focalSize, 0.0f, 2.0f, new GUIContent(" Focal Size")); EditorGUILayout.Slider(aperture, 0.0f, 1.0f, new GUIContent(" Aperture")); EditorGUILayout.Separator(); EditorGUILayout.PropertyField(blurType, new GUIContent("Defocus Type")); if (!(target as DepthOfField).Dx11Support() && blurType.enumValueIndex > 0) { EditorGUILayout.HelpBox("DX11 mode not supported (need shader model 5)", MessageType.Info); } if (EditorGUILayout.BeginFadeGroup(showDiscBlurSettings.faded)) { EditorGUILayout.PropertyField(blurSampleCount, new GUIContent(" Sample Count")); } EditorGUILayout.EndFadeGroup(); EditorGUILayout.Slider(maxBlurSize, 0.1f, 2.0f, new GUIContent(" Max Blur Distance")); EditorGUILayout.PropertyField(highResolution, new GUIContent(" High Resolution")); EditorGUILayout.Separator(); EditorGUILayout.PropertyField(nearBlur, new GUIContent("Near Blur")); if (EditorGUILayout.BeginFadeGroup(showNearBlurOverlapSize.faded)) { EditorGUILayout.Slider(foregroundOverlap, 0.1f, 2.0f, new GUIContent(" Overlap Size")); } EditorGUILayout.EndFadeGroup(); EditorGUILayout.Separator(); if (EditorGUILayout.BeginFadeGroup(showDX11BlurSettings.faded)) { GUILayout.Label("DX11 Bokeh Settings"); EditorGUILayout.PropertyField(dx11BokehTexture, new GUIContent(" Bokeh Texture")); EditorGUILayout.Slider(dx11BokehScale, 0.0f, 50.0f, new GUIContent(" Bokeh Scale")); EditorGUILayout.Slider(dx11BokehIntensity, 0.0f, 100.0f, new GUIContent(" Bokeh Intensity")); EditorGUILayout.Slider(dx11BokehThreshold, 0.0f, 1.0f, new GUIContent(" Min Luminance")); EditorGUILayout.Slider(dx11SpawnHeuristic, 0.01f, 1.0f, new GUIContent(" Spawn Heuristic")); } EditorGUILayout.EndFadeGroup(); serObj.ApplyModifiedProperties(); } } } DepthOfFieldEditor UnityStandardAssets.ImageEffects$Assembly-CSharp-Editor-firstpass.dll