/// <summary> /// 遷移エフェクトの後半 /// </summary> public IEnumerator afterTransitionCoroutine() { renderTexture = new RenderTexture(Screen.width, Screen.height, 24); renderTexture.name = "AfterTransitionRenderTexture"; transitionCanvas.SetCanvas(renderTexture, transitionMaterial); cameraLinkRendererTexture(); Debug.Log("afterTransitionCoroutine"); transitionTimeCount = transitionTime; while (transitionTimeCount > 0) { transitionTimeCount -= Time.deltaTime; if (transitionTimeCount < 0) { transitionTimeCount = 0; } updateMaterial(); yield return(null); } // yield return new WaitForSeconds(1.0f); //描画終了を待つ cameraUnlinkRendererTexture(); Destroy(transitionCanvas.gameObject); transitionEnd = true; }
/// <summary> /// 遷移エフェクトの前半 /// </summary> public IEnumerator beforeTransitionCoroutine() { renderTexture = new RenderTexture(Screen.width, Screen.height, 24); renderTexture.name = "BeforeTransitionRenderTexture"; transitionCanvas = Instantiate(transitionCanvasPrefab, this.transform); transitionCanvas.SetCanvas(renderTexture, transitionMaterial); cameraLinkRendererTexture(); Debug.Log("beforeTransitionCoroutine"); transitionTimeCount = 0; transitionEnd = false; while (transitionTimeCount < transitionTime) { transitionTimeCount += Time.deltaTime; if (transitionTimeCount > transitionTime) { transitionTimeCount = transitionTime; } updateMaterial(); yield return(null); } cameraUnlinkRendererTexture(); }