public override void OnEnable() { base.OnEnable(); headerTex = Resources.Load <Texture2D>("beautifyHeader"); blackBack = new GUIStyle(); blackBack.normal.background = MakeTex(4, 4, Color.black); beautify = (Beautify)target; propertyFetcher = new PropertyFetcher <Beautify>(serializedObject); // get volume fx settings var settings = beautify.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Where(t => t.FieldType.IsSubclassOf(typeof(VolumeParameter))) .Where(t => (t.IsPublic && t.GetCustomAttributes(typeof(NonSerializedAttribute), false).Length == 0) || (t.GetCustomAttributes(typeof(SerializeField), false).Length > 0)) .Where(t => t.GetCustomAttributes(typeof(HideInInspector), false).Length == 0) .Where(t => t.GetCustomAttributes(typeof(Beautify.SectionGroup), false).Any()); // group by settings first foreach (var setting in settings) { SectionContents sectionContents = null; foreach (var section in setting.GetCustomAttributes(typeof(Beautify.SectionGroup)) as IEnumerable <Beautify.SectionGroup> ) { if (!sections.TryGetValue(section, out sectionContents)) { sectionContents = sections[section] = new SectionContents(); } bool isGrouped = false; foreach (var settingGroup in setting.GetCustomAttributes(typeof(Beautify.SettingsGroup)) as IEnumerable <Beautify.SettingsGroup> ) { if (!groupedFields.ContainsKey(settingGroup)) { sectionContents.groups[settingGroup] = groupedFields[settingGroup] = new List <MemberInfo>(); } groupedFields[settingGroup].Add(setting); isGrouped = true; } if (!isGrouped) { sectionContents.singleFields.Add(setting); } } } }
public static void ManageBuildOptimizationStatus(bool force) { Beautify beautify = sharedSettings; if (beautify == null) { return; } if (!beautify.active && (wasBuildOptActive || force)) { StripBeautifyKeywords(); } else if (beautify.active && (!wasBuildOptActive || force)) { SetStripShaderKeywords(beautify); } wasBuildOptActive = beautify.active; }
IEnumerator DoBlink(float duration, float maxValue) { Beautify beautify = settings; float start = Time.time; WaitForEndOfFrame w = new WaitForEndOfFrame(); beautify.vignettingBlink.overrideState = true; float t; // Close do { t = (Time.time - start) / duration; if (t > 1f) { t = 1f; } float easeOut = t * (2f - t); beautify.vignettingBlink.value = easeOut * maxValue; yield return(w); } while (t < 1f); // Open start = Time.time; do { t = (Time.time - start) / duration; if (t > 1f) { t = 1f; } float easeIn = t * t; beautify.vignettingBlink.value = (1f - easeIn) * maxValue; yield return(w); } while (t < 1f); beautify.vignettingBlink.overrideState = false; }
public static void SetStripShaderKeywords(Beautify beautify) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); bool auto = beautify.optimizeBuildBeautifyAuto.value; if (auto) { beautify.stripBeautifyBloom.value = false; beautify.stripBeautifyDoF.value = false; beautify.stripBeautifyDoFTransparentSupport.value = false; beautify.stripBeautifyLensDirt.value = false; beautify.stripBeautifyLUT.value = false; beautify.stripBeautifyOutline.value = false; beautify.stripBeautifyNightVision.value = false; beautify.stripBeautifyColorTweaks.value = false; beautify.stripBeautifyPurkinje.value = false; beautify.stripBeautifyTonemapping.value = false; beautify.stripBeautifyDithering.value = false; beautify.stripBeautifySharpen.value = false; beautify.stripBeautifyEyeAdaptation.value = false; beautify.stripBeautifyVignetting.value = false; } if (beautify.stripBeautifyBloom.value || (auto && beautify.bloomIntensity.value <= 0)) { sb.Append(BeautifyRendererFeature.SKW_BLOOM); sb.Append(BeautifyRendererFeature.SKW_BLOOM_USE_DEPTH); } if (beautify.stripBeautifyDoF.value || (auto && !beautify.depthOfField.value)) { sb.Append(BeautifyRendererFeature.SKW_DEPTH_OF_FIELD); } if (beautify.stripBeautifyDoF.value || (auto && !beautify.depthOfFieldTransparentSupport.value)) { sb.Append(BeautifyRendererFeature.SKW_DEPTH_OF_FIELD_TRANSPARENT); } if (beautify.stripBeautifyLensDirt.value || (auto && beautify.lensDirtIntensity.value <= 0)) { sb.Append(BeautifyRendererFeature.SKW_DIRT); } bool usesLUT = beautify.lut.value && beautify.lutTexture.value != null; if (beautify.stripBeautifyLUT.value || (auto && !usesLUT)) { sb.Append(BeautifyRendererFeature.SKW_LUT); } if (beautify.stripBeautifyOutline.value || (auto && !beautify.outline.value)) { sb.Append(BeautifyRendererFeature.SKW_OUTLINE); } if (beautify.stripBeautifyNightVision.value || (auto && !beautify.nightVision.value)) { sb.Append(BeautifyRendererFeature.SKW_NIGHT_VISION); } bool usesColorTweaks = beautify.sepia.value > 0 || beautify.daltonize.value > 0 || beautify.colorTempBlend.value > 0; if (beautify.stripBeautifyColorTweaks.value || (auto && !usesColorTweaks)) { sb.Append(BeautifyRendererFeature.SKW_COLOR_TWEAKS); } if (beautify.stripBeautifyPurkinje.value || (auto && !beautify.purkinje.value)) { sb.Append(BeautifyRendererFeature.SKW_PURKINJE); } if (beautify.stripBeautifyTonemapping.value || (auto && beautify.tonemap.value != Beautify.TonemapOperator.ACES)) { sb.Append(BeautifyRendererFeature.SKW_TONEMAP_ACES); } if (beautify.stripBeautifyDithering.value || (auto && beautify.ditherIntensity.value <= 0)) { sb.Append(BeautifyRendererFeature.SKW_DITHER); } if (beautify.stripBeautifySharpen.value || (auto && beautify.sharpenIntensity.value <= 0)) { sb.Append(BeautifyRendererFeature.SKW_SHARPEN); } if (beautify.stripBeautifyEyeAdaptation.value || (auto && !beautify.eyeAdaptation.value)) { sb.Append(BeautifyRendererFeature.SKW_EYE_ADAPTATION); } if (beautify.stripBeautifyChromaticAberration.value || (auto && beautify.chromaticAberrationIntensity.value <= 0)) { sb.Append(BeautifyRendererFeature.SKW_CHROMATIC_ABERRATION); } float outerRing = 1f - beautify.vignettingOuterRing.value; float innerRing = 1f - beautify.vignettingInnerRing.value; bool vignettingEnabled = outerRing < 1 || innerRing < 1f || beautify.vignettingFade.value > 0 || beautify.vignettingBlink.value > 0; if (beautify.stripBeautifyVignetting.value || (auto && !vignettingEnabled)) { sb.Append(BeautifyRendererFeature.SKW_VIGNETTING); sb.Append(BeautifyRendererFeature.SKW_VIGNETTING_MASK); } bool stripUnityPPS = beautify.optimizeBuildUnityPPSAuto.value; if (beautify.stripUnityBloom.value || stripUnityPPS) { sb.Append("_BLOOM_LQ _BLOOM_HQ _BLOOM_LQ_DIRT _BLOOM_HQ_DIRT"); } if (beautify.stripUnityChromaticAberration.value || stripUnityPPS) { sb.Append("_CHROMATIC_ABERRATION"); } if (beautify.stripUnityDistortion.value || stripUnityPPS) { sb.Append("_DISTORTION"); } if (beautify.stripUnityFilmGrain.value || stripUnityPPS) { sb.Append("_FILM_GRAIN"); } if (beautify.stripUnityTonemapping.value || stripUnityPPS) { sb.Append("_TONEMAP_ACES"); } PlayerPrefs.SetString(PLAYER_PREF_KEYNAME, sb.ToString()); }
void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1) { _instance = null; _beautifyVolume = null; _beautify = null; }