この記事で学べること
- シーン(Scene)とは何かを理解できます
- ゲームを複数のシーンで構成するメリットを学べます
- 典型的なシーン構成の例を知ることができます
- シーンファイルの保存と管理方法を把握できます
- Build Profiles(Scene List)へのシーン追加方法を学びます
前提知識
- Unityエディタの全体像と各ウィンドウの役割:Unityの基本操作
- プロジェクトウィンドウでアセットを管理する:ファイル管理の基本
シーンとは何だろう?
シーンの基本概念
Unityでは、シーン(Scene)とはゲームの「1つの画面」や「1つの場面」を表すファイルのことです。たとえば:
- タイトル画面:1つのシーン
- ゲームプレイ画面:1つのシーン
- リザルト画面:1つのシーン
シーンは独立した「舞台」のようなもので、それぞれのシーンに異なるゲームオブジェクトや設定を配置できます。
なぜシーンを分けるのか?
ゲームを複数のシーンに分ける主な理由は以下の通りです:
- 整理がしやすい:各画面の要素を別々に管理できる
- メモリを節約できる:使っていない画面のデータは読み込まれない
- 開発効率が上がる:チームで分担して作業しやすい
- ゲームの流れを明確にできる:タイトル、ゲーム、リザルトの順番がわかりやすい
シーンなしではどうなる?
シーンを使わない場合、すべてのゲームオブジェクトが1つの巨大なファイルに混在してしまい:
- 何がどの画面で使うのかわからなくなる
- ゲームの起動が重くなる
- チーム開発で競合が起きやすい
シーンはゲーム制作の「基本的な整理術」なのです。
典型的なゲームのシーン構成
基本的な3シーン構成
ほとんどのゲームで採用される基本構成です:
1. Titleシーン(タイトル画面)
- ゲームタイトルを表示
- スタートボタンなどのメニュー
- BGMや背景画像
2. Gameシーン(ゲームプレイ画面)
- 実際のゲーム内容
- プレイヤーキャラクター
- 敵、アイテム、マップなど
3. Resultシーン(リザルト画面)
- スコア表示
- クリア/ゲームオーバーの判定
- もう一度遊ぶボタン
より複雑な構成例
本格的なゲームでは、以下のようなシーンを追加することがあります:
追加シーン例:
- Settingsシーン:設定画面(音量、難易度など)
- Loadingシーン:読み込み画面
- Tutorialシーン:チュートリアル
- Creditsシーン:クレジット表示
シーンの設計パターン
ゲームの種類によって最適な構成が異なります:
アクションゲームの場合:
- Title>Stage Select>Game>Result>Title
RPGの場合:
- Title>Character Create>World Map>Battle>Title
パズルゲームの場合:
- Title>Level Select>Game>Result>Title
シーン構成はゲームの設計図のようなものです。まずはシンプルに始めて、必要に応じて複雑にしていきましょう。
シーンファイルの作成と保存
新しいシーンの作成
シーンを作成する方法は簡単です。
手順1: 新しいシーンを作成
- Unityエディタの上部メニューから File>New Scene を選択(Ctrl+N)
- 表示されたウィンドウで、シーンのテンプレートを選ぶ(まずは「Basic」などカメラとライトだけのものでOK)
- Create ボタンをクリック
これで新しいシーンが作成されます。この時点ではまだ名前がない(Untitled)ので、次の手順で名前を付けて保存します。
シーンの保存場所
作成したシーンは、プロジェクトの Scenesフォルダ に保存することをおすすめします。
手順2: シーンを保存
- Assetsの中に「Scenes」フォルダがあることを確認(テンプレートで作ったプロジェクトなら最初からあります。ない場合はProjectウィンドウで右クリック>Create>Folder)
- File>Save As(Ctrl+Shift+S)を選択
- Scenesフォルダを選び、名前(例:「TitleScene」)を付けて保存
Projectウィンドウで右クリック>Create>Sceneでも、名前を付けたシーンを作れます。
おすすめのフォルダ構成
シーンが増えてきたら、以下のように整理すると便利です:
Scenes/
├── TitleScene.unity
├── GameScene.unity
├── ResultScene.unity
└── Stages/
├── Stage01.unity
└── Stage02.unity
最初はScenesフォルダに並べておけばOKです。ステージが増えてきたら、上のようにフォルダで分けると見通しが良くなります。
Build Profilesのシーン一覧(Scene List)への追加
なぜ登録が必要?
作ったシーンを、ゲームの実行ファイルに入れたり(ビルド)、スクリプトから切り替えたりするには、Build ProfilesのScene Listにシーンを登録する必要があります。以前のUnityでは「Build Settings」の「Scenes In Build」と呼ばれていたところです。
Scene Listに登録していないシーンは、ビルドに含まれず、スクリプトから読み込むことも出来ません。
シーンをScene Listに追加
手順1: Build Profilesを開く
- File>Build Profiles を選択(Ctrl+Shift+B)
- Build Profilesウィンドウが開く
- 左の一覧の一番上にあるScene Listを選ぶ
手順2: シーンを追加
- Projectウィンドウからシーンをドラッグして、Scene Listにドロップ
- 今開いているシーンなら「Add Open Scenes」ボタンでも追加出来ます
- ドラッグで並べ替えて、順番を決める
シーンの順序について
Scene Listでのシーンの順番は大事です:
- インデックス0:ゲーム起動時に最初に読み込まれるシーン
- 通常はTitleシーンを0番目に設定
シーン名だけでなく、インデックス番号(0, 1, 2…)でシーンを指定することもできます。
シーン間のデータの受け渡し
シーン切り替え時の注意点
シーンを切り替えると、基本的には前のシーンのデータは失われます。
シーン切り替えで失われるもの:
- シーンに配置されたゲームオブジェクト
- スクリプトの変数値
- 一時的なデータ
シーン切り替えで保持されるもの:
- スクリプトのstatic変数
- PlayerPrefsなどでファイルに保存したデータ
データを保持する方法
シーン間でデータを持ち越すには、いくつかの方法があります:
- static変数を使う:簡単だが、ゲームを終了するまでずっと残り続ける
- DontDestroyOnLoadを使う:オブジェクトごとシーンをまたいで残す
- ファイルに保存する:PlayerPrefsやJSONで保存
スクリプトでのシーンの切り替え方と、DontDestroyOnLoadの使い方は、8-3の記事で説明します。
注意点やヒント
シーン名はわかりやすく付けましょう。「Scene1」「New Scene」ではなく、「TitleScene」「GameScene」のように具体的な名前がおすすめです。スクリプトからシーンを切り替えるときも、この名前を使います。
スライム別のシーンを開いたら、さっきまでの作業が消えた・・・



シーンを切り替える前に保存しないと、確認のダイアログで「Don’t Save」を押すと消えちゃうよ!Hierarchyのシーン名に「*」が付いていたら、まずCtrl+Sね
よくあるエラーと対処法
エラー: シーンがビルドに含まれない
- 原因:Build ProfilesのScene Listにシーンが登録されていない
- 対処法:File>Build Profilesを開き、Scene Listにシーンを追加する
エラー: シーンが見つからない
- 原因:シーン名のつづり間違い、またはScene Listに登録していない
- 対処法:Projectウィンドウのシーン名と、スクリプトで指定した名前が同じか確認する。Scene Listに入っているか確認する
まとめ
- シーンはゲームの「1つの画面」を表すUnityの基本単位
- ゲームを複数のシーンに分けることで整理しやすく、管理しやすい
- 典型的な構成はTitle>Game>Resultの3シーン
- 新しいシーンはFile>New Sceneで作り、File>Save AsでScenesフォルダに保存
- Build ProfilesのScene Listにシーンを登録すると、ビルドに含まれ、スクリプトから読み込める
- シーン切り替え時はデータの受け渡しに注意が必要
シーンの基本概念を理解できましたか?これでゲームの全体構造を設計できるようになりましたね!
次のステップ
シーンの基本を理解したら、次はより実践的なシーン管理を学びましょう:
- シーンの作成と管理:シーンを複数同時に開く方法や、テンプレートの使い方
- スクリプトでシーンを切り替えよう:プログラムからシーンを切り替える方法
- Unityスタートガイド 目次
コメント
コメント一覧 (2件)
[…] シーンの基本とゲーム構成の考え方:シーンの基本 […]
[…] シーンの基本とゲーム構成の考え方:シーンとScene List […]