/// <summary> /// メインシーン遷移の際に使用する /// </summary> /// <param name="_sceneName">シーン名</param> /// <param name="_stage">ステージ名</param> /// <returns></returns> public IEnumerator SceneTransition(string _sceneName, STAGE _stage) { // フェードイン for (float i = 1.1f; i > 0.0f; i -= 0.02f) { fadeMaterial.SetFloat("_Radius", i); yield return(null); } // シーン遷移 async = SceneManager.LoadSceneAsync(_sceneName); while (!async.isDone) { yield return(null); } gameMgr.CreateStage(_stage); // ステージを生成 yield return(new WaitForSeconds(1.0f)); // 1秒間待つ // ワイプを表示する for (float i = 0.0f; i < 0.21f; i += 0.01f) { fadeMaterial.SetFloat("_Radius", i); yield return(null); } yield return(new WaitForSeconds(1.0f)); // 1秒間待つ // フェードアウト for (float i = 0.2f; i < 1.1f; i += 0.06f) { fadeMaterial.SetFloat("_Radius", i); yield return(null); } GameMgr.IsLock = false; }