using UnityEngine.Rendering; namespace UnityEngine.AdaptivePerformance { /// /// A scaler used by to toggle rendering of transparent objects. /// public class AdaptiveTransparency : AdaptivePerformanceScaler { /// /// Ensures settings are applied during startup. /// protected override void Awake() { base.Awake(); if (m_Settings == null) return; ApplyDefaultSetting(m_Settings.scalerSettings.AdaptiveTransparency); } /// /// Callback when scaler gets disabled and removed from indexer /// protected override void OnDisabled() { OnDestroy(); } void OnDestroy() { AdaptivePerformanceRenderSettings.SkipTransparentObjects = false; } /// /// Callback for any level change /// protected override void OnLevel() { if (ScaleChanged()) AdaptivePerformanceRenderSettings.SkipTransparentObjects = (Scale < 1); } } }