/// <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();
    }
    public void Initialize(Material setMaterial, float setTransitionTime = 0.5f)
    {
        transitionMaterial = setMaterial;
        transitionTime     = setTransitionTime;

        transitionCanvasPrefab = Resources.Load <TransitionRenderCanvas>("TransitionRenderCanvas");
    }