【Unity】シーンとは?ゲーム画面単位ごとに作成していくファイル

Unityのシーンとは? Unity

こんにちは、ともくんのゲーム作り部屋にようこそ!

このページでは、

「Unityのシーンってなに?」

「シーンってどんな役割があるの?」

というお悩みの方に向けた内容となっています。

Unityでゲーム制作を行う際に、必ず出てくるのが「シーン」という言葉です。

Unityでは、ゲーム全体を「プロジェクト」と呼び、その中のゲーム画面単位のことを「シーン」と呼びます。

実際にゲームを制作していく場合は、プロジェクトの中にあるこのシーンファイルに対してオブジェクトを配置したり、スクリプトで動かしたりしていくことになります。

そこでこのページでは、Unityのシーンがどういう役割を持っているものなのか、またシーンの作成や保存、切り替え方法についてまとめていきます。

なお、このページでは、

Windows11
Unity Hub3.11.0
Unity6

のバージョンで解説しています。

この記事を書いた人

ゲーム作りを学び始めた一児のパパです。
このブログは、子供から「ゲームを作ってみたい!」と言われ、非プログラマーでゲーム作りをしたことない僕が、ゲーム作りの本を読んで独学でゲーム開発を学んでいるブログです。
同じように初めてゲーム作りをしている方と一緒に学んでいけるようなブログに出来たらいいなと思っています。
また、「このコードはおかしい」とか「もっと良い書き方があるよ!」などあれば、どんどん指摘して頂けると助かります。

Unityのシーンファイルとは?

まずは、Unityでゲームを作る場合に必要となるシーンファイルについて、解説していきます。

ゲームにおける画面に相当するもの

Unityのシーンとは、ゲームの画面単位のことを指しています。

もう少し分かりやすく説明すると、

など、ゲームにおいて表示させたい画面単位のことシーンと呼んでいます。

Unityでは、これらの画面毎に分けたシーンファイルを作成して、その中にゲームを作っていくことになります。

複数のシーンを切り替えて画面遷移を行う

シーンの役割として、複数のシーンを切り替えることで、ゲーム内での画面遷移を行うという役割があります。

例えば、

  • ゲームを起動した際のタイトル画面⇒タイトルシーン
  • 実際にゲームをプレイするメイン画面⇒メインシーン

とした場合に、最初に「タイトルシーン」を表示させて、そのシーンの中で「ゲームスタート」を選択したら、「メインシーン」に切り替えるということが出来るようになります。

そのため、切り替えたい画面毎にシーンを作成して作っていくことになります。

配置したオブジェクトはシーン毎に保存されている

キャラクターなどのオブジェクトの配置は、シーン毎に保存されていくことになります。

もう少し詳しく言うと、オブジェクトが配置されている座標やオブジェクトにアタッチされているコンポーネントが、シーンファイルに保存されていくことになります。

そのため、シーンが変わると、それまでに表示していたオブジェクトは全て消えて、新しく表示されることになります。

またこのシーンファイルは、「.unity」という拡張子で保存されます。

Unityのシーンの作成・保存・切り替え方法

Unityにおけるシーンの役割が分かってきたところで、ここからはシーンを新たに作成する方法や保存する方法、また切り替え方法についてまとめていきます。

シーンの作成方法

新しくシーンを作成する場合は、メニューバーの「File」から「New Scene」を選択します。

シーンのテンプレートを選択して、「Create」を選択します。

すると、今までのシーンから切り替わり、「Untitled」という名前のシーンが出来上がります。

シーンの保存方法

シーンを保存する場合は、メニューバーの「File」から「Save As…」を選択します。

ファイル名の入力欄が表示されるので、入力して「保存」を選択します。

アセット内にシーンが保存されました。

別のシーンを編集する場合は、アセット内からシーンをダブルクリックすれば、そのシーンの編集を行うことができます。

シーンの切り替え・遷移方法

ゲーム画面上でシーンを切り替える場合、スクリプト上にLoadSceneメソッドを使って別のシーンを読み込んでくる必要があります。

ここでは例として、「Scene1」「Scene2」というシーンファイルを作成して、Scene1でマウスをクリックすると、Scene2に遷移するという簡単なスクリプトを作成してみます。

Scene1に「Scene1Director」という名称のスクリプトを作成して、以下のように記載します。

using UnityEngine;
using UnityEngine.SceneManagement; // LoadSceneメソッドを使うために必要!

public class Scene1Director : MonoBehaviour
{
	void Update()
	{
		if (Input.GetMouseButton(0)) // マウスボタンをクリック
		{
			SceneManager.LoadScene("Scene2"); // Scene2を読み込ませる
		}
	}
}

空のオブジェクトを作成して、「Scene1Director」のスクリプトをアタッチします。

次に、ゲーム内にシーンを追加するために、メニューバーの「File」から「Build Profiles」を選択します。

「Scene List」の項目に、プロジェクトウィンドウから「Scene1」と「Scene2」をドラッグ&ドロップしてきて、この2シーンだけにチェックを付けます。

右側でシーンの順番を決められるので、Scene1が「0」、Scene2が「1」になるようにします。

これで実際にゲームを実行して、マウスでクリックをしてみると、Scene1からScene2にシーンの遷移ができました。

まとめ

このページでは、Unityでゲームを作る際に必要となるシーンについて、役割や使い方を紹介していきましたが、いかがでしたでしょうか?

Unityでは、ゲームの大枠となる部分を「プロジェクト」と呼び、その中に「シーン」というファイルを作成していきます。

シーンは、ゲームにおける画面のことで、起動画面やメイン画面、クリア画面など、ゲームの中で使う様々な画面ごとに、シーンとして保存していきます。

そして、複数のシーンを作り、スクリプトを使って別のシーンを読み込ませることで、画面の遷移を行うことができます。

最後までお読みいただきまして、ありがとうございました!

コメント