シーンの基本とゲーム構成の考え方【Unityスタートガイド8-1】

目次

この記事で学べること

  • シーン(Scene)とは何かを理解できます
  • ゲームを複数のシーンで構成するメリットを学べます
  • 典型的なシーン構成の例を知ることができます
  • シーンファイルの保存と管理方法を把握できます
  • Build Profiles(Scene List)へのシーン追加方法を学びます

前提知識

シーンとは何だろう?

シーンの基本概念

Unityでは、シーン(Scene)とはゲームの「1つの画面」や「1つの場面」を表すファイルのことです。たとえば:

  • タイトル画面:1つのシーン
  • ゲームプレイ画面:1つのシーン
  • リザルト画面:1つのシーン

シーンは独立した「舞台」のようなもので、それぞれのシーンに異なるゲームオブジェクトや設定を配置できます。

なぜシーンを分けるのか?

ゲームを複数のシーンに分ける主な理由は以下の通りです:

  1. 整理がしやすい:各画面の要素を別々に管理できる
  2. メモリを節約できる:使っていない画面のデータは読み込まれない
  3. 開発効率が上がる:チームで分担して作業しやすい
  4. ゲームの流れを明確にできる:タイトル、ゲーム、リザルトの順番がわかりやすい

シーンなしではどうなる?

シーンを使わない場合、すべてのゲームオブジェクトが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: 新しいシーンを作成

  1. Unityエディタの上部メニューから File>New Scene を選択(Ctrl+N)
  2. 表示されたウィンドウで、シーンのテンプレートを選ぶ(まずは「Basic」などカメラとライトだけのものでOK)
  3. Create ボタンをクリック

これで新しいシーンが作成されます。この時点ではまだ名前がない(Untitled)ので、次の手順で名前を付けて保存します。

シーンの保存場所

作成したシーンは、プロジェクトの Scenesフォルダ に保存することをおすすめします。

手順2: シーンを保存

  1. Assetsの中に「Scenes」フォルダがあることを確認(テンプレートで作ったプロジェクトなら最初からあります。ない場合はProjectウィンドウで右クリック>Create>Folder)
  2. File>Save As(Ctrl+Shift+S)を選択
  3. 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を開く

  1. File>Build Profiles を選択(Ctrl+Shift+B)
  2. Build Profilesウィンドウが開く
  3. 左の一覧の一番上にあるScene Listを選ぶ

手順2: シーンを追加

  1. Projectウィンドウからシーンをドラッグして、Scene Listにドロップ
    • 今開いているシーンなら「Add Open Scenes」ボタンでも追加出来ます
  2. ドラッグで並べ替えて、順番を決める

シーンの順序について

Scene Listでのシーンの順番は大事です:

  • インデックス0:ゲーム起動時に最初に読み込まれるシーン
  • 通常はTitleシーンを0番目に設定

シーン名だけでなく、インデックス番号(0, 1, 2…)でシーンを指定することもできます。

シーン間のデータの受け渡し

シーン切り替え時の注意点

シーンを切り替えると、基本的には前のシーンのデータは失われます。

シーン切り替えで失われるもの:

  • シーンに配置されたゲームオブジェクト
  • スクリプトの変数値
  • 一時的なデータ

シーン切り替えで保持されるもの:

  • スクリプトのstatic変数
  • PlayerPrefsなどでファイルに保存したデータ

データを保持する方法

シーン間でデータを持ち越すには、いくつかの方法があります:

  1. static変数を使う:簡単だが、ゲームを終了するまでずっと残り続ける
  2. DontDestroyOnLoadを使う:オブジェクトごとシーンをまたいで残す
  3. ファイルに保存する: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にシーンを登録すると、ビルドに含まれ、スクリプトから読み込める
  • シーン切り替え時はデータの受け渡しに注意が必要

シーンの基本概念を理解できましたか?これでゲームの全体構造を設計できるようになりましたね!

次のステップ

シーンの基本を理解したら、次はより実践的なシーン管理を学びましょう:

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (2件)

コメントする

目次