シーンの作成と管理【Unityスタートガイド8-2】

シーンが増えてくると、「どこに何があるんだっけ?」「毎回同じカメラとライトを置くのが面倒・・・」となってきます。今回はシーンを作るときの選び方や名前の付け方、複数のシーンを同時に開く方法、シーンテンプレート、そしてプロジェクトのバックアップまで、シーンを扱うときに知っておきたいことをご紹介します!

目次

この記事で学べること

  • 新しいシーンを作るときのテンプレートの選び方
  • シーンの保存場所と名前の付け方
  • 複数のシーンを同時に開いて編集する方法(Additive)
  • 自分用のシーンテンプレートを作る方法
  • シーンを含めたプロジェクトのバックアップの基本

前提知識

新しいシーンの作成方法

メニューから作成する

  1. File>New Scene(Ctrl+N、Macの場合はCmd+N)を選択
  2. 表示されたウィンドウで、テンプレートを選ぶ
    • Basic:カメラとライトだけのシンプルなシーン(まずはこれでOK)
    • Standard:カメラやライトに加えて、画面の見た目を整える設定(Global Volume)なども入ったシーン
    • テンプレートの名前や数は、プロジェクトの種類(2D/3D)やバージョンで少し違います
  3. 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には、今のシーンを自分用のテンプレートとして保存する機能があります。

テンプレートにするシーンを作る

  1. 新しいシーンを作り、毎回使うものを置いておく
    • カメラの位置と設定
    • ライト
    • 床やプレイヤーなど、毎回使うオブジェクト
  2. File>Save Asで、Scenesフォルダの中の「Templates」フォルダなどに保存する

シーンテンプレートとして登録する

  1. テンプレートにしたいシーンを開いた状態で、File>Save As Scene Templateを選ぶ
  2. 保存先と名前(例:BaseSceneTemplate)を決めて保存
  3. 次からは、File>New Sceneのウィンドウに、作ったテンプレートが並ぶ

シーンをCtrl+Dで複製して名前を変えるだけでも、似たシーンは作れます。ただ、Scene Templateにしておくと、New Sceneのウィンドウからいつでも選べるので便利です。

シーンのバックアップとバージョン管理

バックアップの方法

シーンは、何時間もかけて作ったゲームの大事なデータです。壊れたり、うっかり消したりしたときのために、バックアップを取っておきましょう。

  1. フォルダごとコピー:プロジェクトのフォルダを、別の場所にコピーしておく
    • Library・Logs・Temp・UserSettingsのフォルダは、Unityが作り直すのでコピーしなくてOK
  2. Gitで管理する:変更の履歴が残り、前の状態に戻せる
  3. 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)はこまめに

次のステップ

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

コメント

コメントする

目次