スマゲ

スマートなゲームづくりを目指して日々精進

UnityでSceneManagerを使う(基本編その1)

Unity5.3から実装されたSceneManagerを利用する方法をまとめます(C#)

■前準備

SceneManagerを利用するにはSceneManagement名前空間が必要なので

using UnityEngine.SceneManagement;

を遷移を実装したいスクリプトの上部に記述しておく
また、遷移を行うシーンはBuild Settingsに設定しておく

f:id:sanukin39:20160222222210p:plain

■通常の遷移

・シーン名を利用する

SceneManager.LoadScene("main");

・sceneBuildIndexを利用する

SceneManager.LoadScene(1);

※sceneBuildIndex: bulid Settingsでシーンを登録した時に右側に出てくる数字

■非同期の遷移
・シーン名を利用する

SceneManager.LoadSceneAsync("main");

・sceneBuildIndexを利用する

SceneManager.LoadSceneAsync(1);

■シーンの加算
シーンの加算: 今現在いるシーンに追加する形で指定したシーンをロードする
・シーン名を利用する

SceneManager.LoadScene("main", LoadSceneMode.Additive);

・sceneBuildIdを利用する

SceneManager.LoadScene(1, LoadSceneMode.Additive);

■非同期でのシーンの加算
・シーン名を利用する

SceneManager.LoadSceneAsync("main", LoadSceneMode.Additive);

・sceneBuildIdを利用する

SceneManager.LoadSceneAsync(1, LoadSceneMode.Additive);

■シーンの削除
シーンの削除: すでにロードしたシーンをアンロードする
・シーン名を利用する

SceneManager.UnloadScene("main");

・sceneBuildIdを利用する

SceneManager.UnloadScene(1);

■まとめ
詳しい説明も無く一覧で書いてしまいました。これからは、それぞれの効果的な使い方や、SceneManagerの新機能を順を追って書いていきたいと思います

■参考
SceneManager
docs.unity3d.com
Application.LoadLevel(Unity5.3から非推奨になりました)
docs.unity3d.com

UnityでSceneManagerを使う(基本編その2) - スマゲ