MRbaseballの進捗

こんにちは!ねこっちです。私は現在、MRの野球ゲームを制作しています。このゲームの進捗をBlogに記していきます

2024/11/12

現在、MRのシーンからVRのシーンに遷移させようと挑戦しています。

しかし、VRのシーンに移動するときに非常に重くなってしまい、PCでもメタクエスト3でも必ず落ちてしまいます。

現在考えている対策として以下を考えています。

  • 非同期処理を使って(LoadSceneAsync())を使う
  • アンロードを使う

上記の方法でもうまくシーン遷移ができなかった。

その理由は、コルーチンの呼び出しがUpdataの中に入っていたからでした。

MRのシーンからVRのシーンに遷移するのはうまくできるようになった。

コルーチンを使って、シーンが読み込まれるまで5秒間の時間を作った。その間に部屋が壊れていく演出をしたいと思う。

void updata()
{
 if (OVRInput.GetDown(OVRInput.Button.PrimaryIndexTrigger, controller) && OVRInput.GetDown(OVRInput.Button.PrimaryHandTrigger) || Input.GetKeyDown(KeyCode.C))//コントローラーの任意のボタンが押されたとき
        {
            //SceneManager.LoadScene("VRScene");
            //LoadScene();
            StartCoroutine(LoadScene());

            //SceneManager.UnloadSceneAsync("MRScene");
            //SceneManager.LoadSceneAsync("VRScene");

        }
}   

private IEnumerator LoadScene()
    {
        if (isRunning) yield break;

       
        var async = SceneManager.LoadSceneAsync("VRScene");//Now Loading...のUIのあるシーンに遷移する
        SceneManager.UnloadSceneAsync("MRScene");

        collapse = true;

        async.allowSceneActivation = false;
        yield return new WaitForSeconds(5);//5秒間の間にランダムで破片を生成する
        isRunning = true;
        async.allowSceneActivation = true;
    }

コメント

タイトルとURLをコピーしました