シーンの切り替え方法

ここではUnityでシーンを切り替える方法について説明します。


※この記事で使用しているUnityのバージョン:Unity2019.1

シーン切り替えのための準備

まず、シーンの切り替え処理を行う前に少し準備が必要です。というのも、シーンを切り替えるためには、あらかじめ「ビルド設定」の「ビルドに含まれるシーン」に対象のシーンを登録しておく必要があるからです。

メニューバーの「ファイル」→「ビルド設定」からBuild Settingsウィンドウを開き、「ビルドに含まれるシーン」にプロジェクトウィンドウからシーンファイルをドラッグ&ドロップしましょう。

ビルド設定にシーンを追加

これでシーンを登録することができました。

シーン切り替えるC#スクリプト

次にシーンの切り替え処理を行うC#スクリプトを書いていきます。シーンの切り替え処理はC#スクリプトから行うので、既存のスクリプトに処理を追加するか、新しいスクリプトを作成する必要があります。

スクリプトファイルを用意出来たら、冒頭の「using~」と書かれているところの下に次の一文を追加します。

using UnityEngine.SceneManagement;

これはシーンの切り替え処理を行うのに必要なものを読み込むための宣言です。

そうしたら実際にシーンの切り替え処理を書きます。といっても書き方はとても簡単で、

SceneManager.LoadScene("シーンのファイル名")

という一文を必要なところに書くだけです。

さて、これでシーンを切り替えることができるのですが、切り替わるときに一瞬で「パッと」切り替わってしまいます。普通のゲームではフェードなどのエフェクトがかかるようになっている(※これをトランジションと言います)のですが、Unityの標準機能ではそういうのはありません。なのでトランジションが欲しい場合は自作する必要があります。

姉妹サイトのほうでは簡単なトランジションを自作する方法を紹介していますので、興味のある方はそちらもご覧ください。