Unity 6の画面構成を理解する ― Game・Scene・Hierarchy・Inspector・Projectの役割
Unityを使い始めると、最初に戸惑いやすいのがエディター画面です。
画面には複数のウィンドウが並んでいて、それぞれに異なる役割があります。
今回の画面では、中央に白い四角形 Square を配置しています。
このシンプルな状態を使って、Unity Editorの基本的な画面構成を確認していきます。
この記事の画面について
Unity 6.6(6000.6.2f1)、Macで、2D(URP)のプロジェクトを新規作成した状態です。
ウィンドウの配置(レイアウト)は標準ではなく、見やすいように並べ替えたものです。標準レイアウトとは位置が違っても、各ウィンドウの役割は同じです。レイアウトは右上の「Layout」メニューから変更できます。
- 1. 今回の画面
- 2. Gameビュー ― プレイヤーから見える画面
- 3. Sceneビュー ― ゲーム世界を編集する場所
- 4. Hierarchy ― シーンに置かれているオブジェクト
- 5. Inspector ― GameObjectの設定を見る
- 6. Transform ― 位置・回転・大きさを管理する
- 7. Sprite Renderer ― 画像を画面に表示する
- 8. Colorで色を変更できる
- 9. MaterialとGlobal Light 2D
- 10. Sorting LayerとOrder in Layer
- 11. Add Component ― GameObjectに機能を追加する
- 12. Projectウィンドウ ― ゲームの素材を管理する
- 13. HierarchyとProjectの違い
- 14. Console ― エラーを確認する
- 15. Playボタン
- 16. Play中の変更には注意する
- 17. Unityでは「GameObject+Component」で考える
- 18. C#スクリプトもComponentになる
- 19. 画面同士の関係を整理する
- 20. まとめ
今回の画面
Unity Editorには、主に次のウィンドウがあります。
| ウィンドウ | 主な役割 |
|---|---|
| Game | 実際にゲームとして表示される画面 |
| Scene | ゲームオブジェクトを配置・編集する画面 |
| Hierarchy | シーン内に存在するオブジェクトの一覧 |
| Inspector | 選択したオブジェクトの設定 |
| Project | プロジェクト内のファイルや素材 |
| Console | エラーやログを確認する画面 |
それぞれは独立しているのではなく、互いに連携しています。

Gameビュー ― プレイヤーから見える画面
今回のレイアウトでは、画面左にあるのが Gameビュー です。
青い背景の中に白い四角形が表示されています。
これは、カメラから見たゲームの世界です。
つまり、
Sceneビュー
↓
ゲーム世界を作る
Main Camera
↓
ゲーム世界を映す
Gameビュー
↓
プレイヤーが見る
という関係になります。
Sceneビューでオブジェクトを配置しても、Main Cameraに映っていなければGameビューには表示されません。
青い背景はカメラの設定
Gameビューの青い背景は、Sceneビューにあるオブジェクトではありません。
Main Cameraの背景色(Background) の設定です。
HierarchyでMain Cameraを選び、InspectorのCameraコンポーネントで背景色を変えると、Gameビューの背景も変わります。
Sceneビュー ― ゲーム世界を編集する場所
画面中央にあるのが Sceneビュー です。
ここではゲームに登場するオブジェクトを、
- 配置する
- 移動する
- 回転する
- 大きさを変更する
といった操作ができます。
今回の画面では、白い四角形が選択されています。
四角形から、
- 緑色の矢印
- 赤色の矢印
が伸びています。
これはオブジェクトを移動するためのハンドルです。
2Dゲームでは主に、
X方向(赤) → 左右
Y方向(緑) → 上下
として使用します。
Hierarchy ― シーンに置かれているオブジェクト
画面中央右側にあるのが Hierarchy です。
今回のHierarchyを見ると、
SampleScene
├─ Main Camera
├─ Global Light 2D
└─ Square
という構成になっています。
Hierarchyには、現在のシーンに存在しているGameObject が表示されます。
Main Camera
ゲーム画面を映すカメラです。
このカメラから見えている範囲がGameビューに表示されます。
Global Light 2D
2Dゲーム全体を照らすためのライトです。
Universal Render Pipeline(URP)の2D環境で使われます。
後で説明するように、Squareは「ライトの影響を受ける」設定になっているため、このライトはSquareを表示するうえで大切な役割を持っています。
Square
今回配置している白い四角形です。
Hierarchyで Square をクリックすると、その内容がInspectorに表示されます。

Inspector ― GameObjectの設定を見る
画面右側にあるのが Inspector です。
今回の画面では、Hierarchyで Square を選択しているため、Squareの情報が表示されています。
特に重要なのが、
Transform
Sprite Renderer
です。
Unityでは、GameObjectにさまざまな Component(コンポーネント) を追加することで機能を持たせます。
考え方としては、
GameObject
│
├─ Transform
├─ Sprite Renderer
├─ Rigidbody2D
├─ Collider2D
└─ 自作スクリプト
のようになります。
Unityでは、GameObjectを土台として、そこにどのComponentを組み合わせるかによって、役割や機能が決まります。
Transform ― 位置・回転・大きさを管理する
Squareには Transform コンポーネントがあります。
画面では次のようになっています。
Position
X 0
Y 0
Z 0
Rotation
X 0
Y 0
Z 0
Scale
X 1
Y 1
Z 1
Position
オブジェクトの位置です。
2Dゲームでは主に、
X → 横方向
Y → 縦方向
を使用します。
例えば、
X = 3
にすると右へ移動し、
X = -3
にすると左へ移動します。
Rotation
オブジェクトの回転角度です。
2Dゲームでは主にZ軸を使用します。
例えば、
Rotation Z = 45
とすると、四角形が反時計回りに45度回転します。
時計回りに回したいときは、-45 のようにマイナスの値を入れます。
Scale
オブジェクトの大きさです。
現在は、
X = 1
Y = 1
なので元の大きさです。
例えば、
X = 2
Y = 2
とすると、縦横ともに2倍になります。
Sprite Renderer ― 画像を画面に表示する
Squareにはもう一つ、
Sprite Renderer
があります。
Sprite Rendererは、Spriteを画面に表示するためのComponentです。
今回の場合は、
Sprite → Square
となっています。
そのため、白い四角形がGameビューに表示されています。
Colorで色を変更できる
Sprite Rendererには、
Color
という項目があります。
ここを変更すると、Spriteの色を変えられます。
つまり同じ Square Spriteでも、
白
赤
青
緑
などに変更できます。
Colorは「掛け算」で効く
ここで知っておきたいのは、ColorはSpriteの元の色に掛け合わされるという点です。
今回のSquareは真っ白の画像なので、指定した色がそのまま表示されます。
しかし、もともと色のついた画像にColorを指定すると、元の色と掛け合わされて、思った色にならないことがあります。例えば、赤い画像にColorで青を指定すると、ほぼ黒になります。
ゲーム制作では、白い画像を1枚用意しておき、Colorで色分けする方法がよく使われます。
MaterialとGlobal Light 2D
Sprite Rendererの下のほうに、
Material → Sprite-Lit-Default
という項目があります。
Lit は「ライトの影響を受ける」という意味です。
つまりこのSquareは、2Dライトに照らされて見える設定になっています。
そのため、HierarchyにあるGlobal Light 2Dが重要になります。
シーンにライトがないと、Lit系のSpriteは暗く表示されることがあります。
2D(URP)のプロジェクトでSpriteが思ったように表示されないときは、ライトの有無も確認してみてください。
Sorting LayerとOrder in Layer
Sprite Rendererには、
Sorting Layer
Order in Layer
という項目もあります。
これは、複数のSpriteが重なったときの描画順序を決めるために使います。
例えば、
手前:エフェクト
プレイヤー
奥 :背景
のように、重なり順を管理できます。
Sorting Layerの並び順で大まかな前後が決まり、同じSorting Layerの中では、Order in Layerの数字が大きいSpriteほど手前に表示されます。
2Dゲームでは非常によく使用する設定です。
Add Component ― GameObjectに機能を追加する
Inspectorの下には、
Add Component
ボタンがあります。
ここからGameObjectに新しい機能を追加できます。
例えば、
Rigidbody2D
BoxCollider2D
Audio Source
自作C#スクリプト
などを追加できます。
Unityでは、
GameObjectにComponentを組み合わせてゲームを作る
という考え方が基本になります。
Projectウィンドウ ― ゲームの素材を管理する
画面左下にあるのが Projectウィンドウ です。
ここにはプロジェクトで使用するファイルが保存されています。
今回の画面では、
Assets
├─ Scenes
├─ Settings
└─ Welcome
というフォルダーが確認できます。
Settingsフォルダーを開くと、
DefaultVolumeProfile
InputSystem_Actions
Lit2DSceneTemplate
Renderer2D
Scenes
UniversalRenderPipelineGlobalSettings
UniversalRP
などが入っています。
これらは主に、2D(URP)の描画や入力の設定ファイルです。
HierarchyとProjectは名前が似ていますが、役割が大きく異なります。
HierarchyとProjectの違い
ここはUnityを学び始めたときに混乱しやすいところです。
Hierarchy
現在のシーンに置かれているGameObject
を管理します。
Main Camera
Square
Player
Enemy
などです。
Project
プロジェクトに保存されているファイル
を管理します。
例えば、
画像
音声
C#スクリプト
Scene
Prefab
Input Actions
Material
などです。
まとめると、
Project
↓
ゲームで使う素材を保存
Hierarchy
↓
素材などを使ってシーンを構成
という違いがあります。
Console ― エラーを確認する
画面下中央にあるのが Console です。
C#スクリプトを書いていくと、非常に重要になります。
今回は、右上のカウンターが情報・警告・エラーともに0で、メッセージは何も出ていません。
例えば、
Debug.Log("Hello Unity");
と書くと、Consoleに
Hello Unity
と表示されます。
また、プログラムに問題があると、
赤 → エラー
黄 → 警告
白 → 通常ログ
として表示されます。
C#を書いたのにゲームが動かない場合は、まずConsoleに赤いエラーが出ていないか確認します。
Playボタン
画面上部中央には、
▶
のPlayボタンがあります。
これを押すとゲームが実行されます。
右隣には、一時停止ボタンとコマ送りボタンもあります。
Unityでは基本的に、
編集
↓
Play
↓
動作確認
↓
停止
↓
修正
という流れを何度も繰り返してゲームを作ります。
Play中の変更には注意する
Unityで特に注意したいのが、Play中にInspectorの値を変更できることです。
例えばPlay中に、
Position X = 5
に変更すると、画面上ではSquareが移動します。
しかしPlayを停止すると、基本的にはPlay開始前の値に戻ります。
そのため、
「Inspectorで変更したのに消えてしまった」
ということが起こります。
Unityを使い始めたときによく経験するポイントです。
Unityでは「GameObject+Component」で考える
今回の Square を整理すると、
Square
│
├─ Transform
│ ├─ Position
│ ├─ Rotation
│ └─ Scale
│
└─ Sprite Renderer
├─ Sprite
├─ Color
├─ Material
└─ Sorting Layer
という構造になっています。
この考え方は、Unityを理解するうえで非常に重要です。
例えば、これからプレイヤーを作る場合には、
Player
│
├─ Transform
├─ Sprite Renderer
├─ Rigidbody2D
├─ Collider2D
└─ PlayerController
というように、必要なComponentを追加していきます。
C#スクリプトもComponentになる
Unityでは、自分で作ったC#スクリプトもComponentとしてGameObjectに追加できます。
例えば、
public class PlayerController : MonoBehaviour
{
}
というクラスを作り、
Square
に追加すると、
Square
├─ Transform
├─ Sprite Renderer
└─ Player Controller
という構成になります。
ここが通常のC#アプリケーションとUnityの大きな違いの一つです。
UnityではC#クラスを書くことだけでなく、
「そのスクリプトを、どのGameObjectにComponentとして付けるのか」
まで考える必要があります。
画面同士の関係を整理する
ここまでの関係をまとめると、次のようになります。
Project(素材の保管場所)
│
│ Sprite・C#・Sceneなどを取り出して使う
↓
現在のScene(SampleScene)の中身
│
│ 同じシーンを、3つの窓から見ている
├─ Hierarchy … GameObjectを一覧で見る
├─ Scene … 位置や大きさを見ながら編集する
└─ Inspector … 選んだGameObjectのComponentを設定する
│
↓
Main Camera(シーンを映す)
│
↓
Game(プレイヤーが見る画面)
Hierarchy・Scene・Inspectorは順番に処理が流れるのではなく、同じシーンを別々の角度から見ているという関係です。
Hierarchyで選んだGameObjectが、SceneではハイライトされてInspectorに設定が表示されるのは、そのためです。
さらに、C#スクリプトで問題が発生したときには、
Console
を確認します。
まとめ
Unity Editorには多くのウィンドウがありますが、最初に覚えたいのは次の6つです。
| 名前 | 覚え方 |
|---|---|
| Scene | ゲーム世界を作る場所 |
| Game | プレイヤーが見る画面 |
| Hierarchy | シーンにいるGameObject |
| Inspector | 選択したGameObjectの設定 |
| Project | 素材やファイルの置き場所 |
| Console | ログやエラーを見る場所 |
そしてUnityの基本となる考え方が、
GameObjectにComponentを組み合わせて機能を作る
という仕組みです。
今回の白い Square も、単なる四角形ではありません。
Transform によって位置や大きさを持ち、Sprite Renderer によって画面に描画されています。
この基本構造が分かると、このあとC#スクリプトを追加してSquareを動かしたときにも、
Hierarchy
Inspector
Scene
Game
C#スクリプト
がどのようにつながっているのか理解しやすくなります。
次はこの Square にC#スクリプトを追加して、キーボード入力で動かすところへ進みます。
なお、このプロジェクトのProjectには InputSystem_Actions があるとおり、新しい Input System を使う構成になっています。
古いUnityの解説では、キー入力に Input.GetKey を使っている例をよく見かけます。
Input.GetKey は現在も存在しますが、これは旧Input ManagerのAPIです。Unity 6では、新しいプロジェクトには Input System の使用が推奨されています。
また、Project Settingsの Player → Other Settings にある Active Input Handling が Input System Package (New) のみに設定されている場合、Input.GetKey など旧Input ManagerのAPIを使うコードはそのままでは利用できません。この状態で旧Input ManagerのAPIを使用すると、実行時にConsoleへエラーが表示されることがあります。
次回は、この違いも確認しながら、Square をキーボード入力で動かしてみます。












ディスカッション
コメント一覧
まだ、コメントがありません