/// <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();
    }