ツクロウヤ

Unityによるゲーム開発記やUnity,3dsMaxのTipsなどを記載していきます。

【開発記】開発時の問題:Sceneがnot loadedから進まない

先日進捗動画を公開して、一時停止画面などを表示して、また戦闘に戻るみたいなことをやっていました。
が... 他のリトライとリタイヤは実はココは正常に動いていませんでした|ω・`)コソ

何故かシーン遷移の際に、Sceneが「not loaded」の表記から一切進まず、BGMが垂れ流されている状態になっていました。
f:id:ArtAwA:20161008232144p:plain

何でだろうと調べた結果...
一時停止時に「Time.timeScale = 0.0f」で一時停止の処理を実装していましたが、リトライやリタイヤへの遷移時に元に戻す処理が抜けていたので、「not loaded」から進まない状態でした。
まぁ何というか... 凡ミスですね...(こんなのに何時間も悩んでいたのか...)

ちなみにロード時はこちらのサイトを参考に
【Unity5】非同期ロードでローディング画面を実装する。 : ねこバタ会議
SceneManagerに変えた形で実装していますが、

private IEnumerator LoadSceneAsync()
{
  SceneManager.UnloadScene(mCurrentScene);

  // 非同期でロード開始
  mAsync = SceneManager.LoadSceneAsync(mNextScene, LoadSceneMode.Additive);

  // シーン遷移をしない
  mAsync.allowSceneActivation = false;

  // 非同期読み込み中の処理
  while (mAsync.progress < 0.9f) //0.9で止まってしまうため
  {
	yield return null;
  }

  yield return new WaitForSeconds(LOAD_WAIT_TIME);

  // シーン遷移許可
  mAsync.allowSceneActivation = true;
}

どうも「mAsync.progress」は進むようで、シーン遷移は許可されている状態でした。
ずっとこの辺りで何かおかしくなっているのではと勘ぐっていましたが無駄足という...

それでは今回はこの辺で
(´・ω・`*)ノシ