Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9551

【Unity】シーンの事前ロード

$
0
0

環境

Unity 2019.3.7f1

はじめに

移動先のシーンが重くて遷移まで間が開いてしまう問題を解決するべく
シーンの事前ロードについて調べました。

方法

事前ロードし、ボタンを押したらシーン移動するコード

usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.SceneManagement;//追加publicclassSceneTest:MonoBehaviour{AsyncOperationa;//AsyncOperation型の変数aを宣言voidStart(){//SceneManager.LoadSceneAsync("GameScene")の返り値(型はAsyncOperation)を変数aに代入a=SceneManager.LoadSceneAsync("GameScene");//AsyncOperationの中の変数allowSceneActivationをfalseにする//これがtrueになるとシーン移動するa.allowSceneActivation=false;}//ボタンに割り当てpublicvoidChange_Scene_button(){//trueにしてシーン移動a.allowSceneActivation=true;}}

解説

SceneManager.LoadSceneAsync("シーン名");のみを使ってシーン移動する場合、
下図のことが処理されています。
image.png

 
allowSceneActivationの情報を下図のように一旦falseにしておくことで
シーン読み込み後のシーン移動をストップします。
image.png

おわりに

ちょっとややこしいですが、定型文として覚えておく程度で良いと思います。
動けばOKの精神♪


Viewing all articles
Browse latest Browse all 9551

Trending Articles