private IEnumerator FadeOut(float speed = 1.0f) { for (float progress = 1.0f - Time.deltaTime * speed; progress >= 0.0f; progress -= Time.deltaTime * speed) { _postProcess.Vignette = progress * 1.6f; _postProcess.Grayscale = progress * 0.35f; yield return(null); } if (_postProcess != null) { DestroyImmediate(_postProcess); _postProcess = null; } }
private IEnumerator FadeIn(float speed = 1.0f) { if (_postProcess != null) { DestroyImmediate(_postProcess); } _postProcess = _mainCameraTransform.gameObject.AddComponent <CameraPostProcess>(); _postProcess.PostProcessMaterial = new Material(PostProcessMaterial); for (float progress = 0.0f; progress < 1.0f; progress += Time.deltaTime * speed) { _postProcess.Vignette = progress * 1.6f; _postProcess.Grayscale = progress * 0.35f; yield return(null); } _postProcess.Vignette = 1.6f; _postProcess.Grayscale = 0.35f; }