シーンが増えてくると、「どこに何があるんだっけ?」「毎回同じカメラとライトを置くのが面倒・・・」となってきます。今回はシーンを作るときの選び方や名前の付け方、複数のシーンを同時に開く方法、シーンテンプレート、そしてプロジェクトのバックアップまで、シーンを扱うときに知っておきたいことをご紹介します!
この記事で学べること
- 新しいシーンを作るときのテンプレートの選び方
- シーンの保存場所と名前の付け方
- 複数のシーンを同時に開いて編集する方法(Additive)
- 自分用のシーンテンプレートを作る方法
- シーンを含めたプロジェクトのバックアップの基本
前提知識
- シーンの基本とゲーム構成の考え方:シーンの基本
- プロジェクトウィンドウでアセットを管理する:ファイル管理の基本
新しいシーンの作成方法
メニューから作成する
- File>New Scene(Ctrl+N、Macの場合はCmd+N)を選択
- 表示されたウィンドウで、テンプレートを選ぶ
- Basic:カメラとライトだけのシンプルなシーン(まずはこれでOK)
- Standard:カメラやライトに加えて、画面の見た目を整える設定(Global Volume)なども入ったシーン
- テンプレートの名前や数は、プロジェクトの種類(2D/3D)やバージョンで少し違います
- Createを押す
Projectウィンドウで右クリック>Create>Sceneでも作れます。こちらは名前を付けたシーンのファイルがすぐに出来るので、あとで開いて中身を作ります。
作る前に今のシーンを保存する
新しいシーンを作ると、今開いているシーンは閉じられます。保存していない変更があると「保存しますか?」と聞かれるので、残したいときはSaveを押しましょう。「Don’t Save」を押すと、変更は消えてしまいます。
シーンの保存場所と名前
フォルダ構成の例
Assets/
└── Scenes/
├── TitleScene.unity
├── GameScene.unity
├── ResultScene.unity
├── Stages/
│ ├── Stage01.unity
│ └── Stage02.unity
└── Test/
└── PlayerTestScene.unity
- 最初はScenesフォルダにそのまま並べてOK
- ステージのように数が増えるものは、フォルダを分ける
- 動作確認用のシーン(Test)を分けておくと、本番用と混ざらない
シーンの名前の付け方
良い例:
TitleScene:タイトル画面GameScene:メインのゲーム画面Stage01:ステージ1
避けたい例:
Scene1:何のシーンか分からないNew Scene:最初の名前のままGameScene_最終版_本当に最終:どれが最新か分からない
シーン名は、8-3の記事でスクリプトからシーンを切り替えるときにも使います。あとから名前を変えると、スクリプトの方も直す必要があるので、最初にしっかり決めておきましょう。
複数のシーンを同時に開く(Additive)
Additiveとは?
普通にシーンを開くと、今のシーンと入れ替わります。Additiveで開くと、今のシーンに追加する形で、複数のシーンを同時に開いて編集できます。
例えば、「ゲームのシーン」と「スコアなどの画面表示(UI)のシーン」を分けて作っておき、両方を開いて見た目を確認する、といった使い方が出来ます。
Additiveで開く
- Projectウィンドウでシーンを右クリック>Open Scene Additive
- または、ProjectウィンドウのシーンをHierarchyにドラッグ&ドロップ
Additiveで開いたシーンの扱い
- Hierarchyには、シーンごとに見出しが付いて表示されます
- 太字になっているシーンがアクティブなシーンです。新しく作ったオブジェクトは、アクティブなシーンに入ります
- シーン名を右クリック>Set Active Sceneで切り替え
- 閉じたいときは、シーン名を右クリック>Remove Scene
エディタでAdditiveに開いても、ゲームを再生したときに両方のシーンが読み込まれるわけではありません。ゲーム中に複数のシーンを使う方法は、8-3の記事で紹介します。
シーンテンプレートを作る
毎回同じカメラ設定やライト、よく使うオブジェクトを置くのは面倒です。Unityには、今のシーンを自分用のテンプレートとして保存する機能があります。
テンプレートにするシーンを作る
- 新しいシーンを作り、毎回使うものを置いておく
- カメラの位置と設定
- ライト
- 床やプレイヤーなど、毎回使うオブジェクト
- File>Save Asで、Scenesフォルダの中の「Templates」フォルダなどに保存する
シーンテンプレートとして登録する
- テンプレートにしたいシーンを開いた状態で、File>Save As Scene Templateを選ぶ
- 保存先と名前(例:BaseSceneTemplate)を決めて保存
- 次からは、File>New Sceneのウィンドウに、作ったテンプレートが並ぶ
シーンをCtrl+Dで複製して名前を変えるだけでも、似たシーンは作れます。ただ、Scene Templateにしておくと、New Sceneのウィンドウからいつでも選べるので便利です。
シーンのバックアップとバージョン管理
バックアップの方法
シーンは、何時間もかけて作ったゲームの大事なデータです。壊れたり、うっかり消したりしたときのために、バックアップを取っておきましょう。
- フォルダごとコピー:プロジェクトのフォルダを、別の場所にコピーしておく
- Library・Logs・Temp・UserSettingsのフォルダは、Unityが作り直すのでコピーしなくてOK
- Gitで管理する:変更の履歴が残り、前の状態に戻せる
- Unity Version Control:Unity公式のバージョン管理サービス(以前はPlastic SCMと呼ばれていました)
Gitで管理する場合の注意
Gitで管理する場合は、Unityが自動で作るフォルダを除外する設定(.gitignore)を入れておきます。
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
*.csproj
*.sln
GitHubで新しいリポジトリを作るときに「.gitignore」のテンプレートで「Unity」を選ぶと、同じような設定がまとめて入ります。
- シーンを変更したら、関係するプレハブやスクリプトと一緒にコミットする
- 1つのシーンを2人で同時に編集すると、あとで合わせるのがとても大変です。チームで作るときは「このシーンは誰が編集中」と決めておきましょう
スライムシーンを壊しちゃって、1日分の作業が消えた・・・



バックアップは「消えてから」じゃ遅いよ!作業の区切りごとにコミットか、フォルダのコピーをしておこうね
よくあるエラーと対処法
エラー:シーンが開けない
- 原因:シーンのファイルが壊れている、またはもっと新しいバージョンのUnityで保存されたシーンを開こうとしている
- 対処法:バックアップやGitの履歴から、壊れる前のファイルに戻す。プロジェクトを作ったときと同じバージョン(この講座では6.3 LTS)で開く
エラー:Additiveで開いたシーンの変更が保存されていない
- 原因:Additiveで開いたシーンを閉じるときに「Don’t Save」を選んだ
- 対処法:Ctrl+Sで、開いているシーンをまとめて保存してから閉じる。1つだけ保存したいときは、シーン名を右クリック>Save Scene
エラー:同じ名前のシーンが複数あって、違う方が開く
- 原因:別のフォルダに、同じ名前のシーンがある
- 対処法:シーン名は、プロジェクトの中で重ならないようにする。スクリプトからシーン名で切り替えるときも、同じ名前があると区別できません
まとめ
- 新しいシーンはFile>New Sceneで、テンプレートを選んで作る
- シーン名は分かりやすく、最初にしっかり決める
- Additiveで開くと、複数のシーンを同時に編集できる
- よく使う構成はScene Templateにしておくと、New Sceneから選べる
- バックアップ(フォルダのコピー、Git、Unity Version Control)はこまめに
次のステップ
- スクリプトでシーンを切り替えよう:プログラムからシーンを切り替える方法
- Unityスタートガイド 目次
コメント