using System.Collections; using UnityEngine; [RequireComponent(typeof(CanvasGroup))] public class TeleportScreenFader : MonoBehaviour { private CanvasGroup _cg; private void Awake() { _cg = GetComponent(); } public IEnumerator FadeTo(float targetAlpha, float duration) { float start = _cg.alpha; float t = 0f; _cg.blocksRaycasts = targetAlpha > 0.01f; while (t < duration) { t += Time.unscaledDeltaTime; _cg.alpha = Mathf.Lerp(start, targetAlpha, t / duration); yield return null; } _cg.alpha = targetAlpha; _cg.blocksRaycasts = targetAlpha > 0.01f; } }