Unityエディターとシーン
Unity Editorはゲームのシーンやアセットを編集し、実行結果を確認するための開発環境です。この章では画面の役割と、Unityの基本単位であるScene・GameObject・Componentの関係を整理します。
Unityプロジェクトの構造
Unityプロジェクトには、シーン、スクリプト、画像、音声、Prefabなどのアセットが含まれます。これらの素材は通常Assetsフォルダー内で管理します。Unityが生成するLibraryなどのフォルダーは、インポート済みデータやキャッシュを保持するためのもので、通常はUnity自身が管理します。
Unity Hubでプロジェクトを作成するときは、チームや教材で指定されたUnity Editorのバージョンを選びます。同じプロジェクトを複数人で扱う場合、バージョンをそろえることで表示や機能の差を減らせます。
主要な画面
- Sceneビュー:ゲーム世界を編集する画面。オブジェクトの配置や移動を行います。
- Gameビュー:カメラから見た実行時の画面を確認します。
- Hierarchy:現在のSceneに含まれるGameObjectの一覧です。
- Inspector:選択中のGameObjectやAssetの設定を表示します。
- Project:Assetsなど、プロジェクト内のファイルを管理します。
- Console:Debug.Logの出力、警告、エラーを確認します。
Sceneビューでオブジェクトを選択すると、InspectorにそのオブジェクトのComponentと設定値が表示されます。Consoleにエラーが出た場合は、エラーメッセージを選択して発生箇所を確認します。
SceneとGameObject
Sceneはゲームの場面を保存する単位です。タイトル画面、ステージ、リザルト画面などを別々のSceneとして管理できます。Scene内にはCamera、Light、床、プレイヤーなどのGameObjectを配置します。
GameObject自体は機能を組み合わせるための基本的な入れ物です。TransformはすべてのGameObjectが持つComponentで、位置・回転・大きさを表します。CameraやLight、Collider、スクリプトなどのComponentを追加することで役割を持たせます。
親子関係とTransform
HierarchyでGameObjectを別のGameObjectの子にすると、親子関係ができます。子のTransformは親を基準とした位置・回転・大きさ(ローカル座標)を持ちます。親が移動すると、子も親に追従してワールド空間上の位置が変わります。
Scene
└── Player
├── Model
└── CameraPivot
└── Main Camera
この例ではModelとCameraPivotがPlayerの子です。Playerを動かすと、モデルとカメラの基準位置も一緒に移動します。
Componentを組み合わせる
たとえばPlayerというGameObjectにTransform、Mesh Renderer、Collider、Rigidbody、PlayerControllerを追加すると、位置・見た目・当たり判定・物理挙動・独自の操作を組み合わせられます。すべてを1つのスクリプトで実装するのではなく、Unity標準のComponentと自作スクリプトを組み合わせるのが基本です。
よくある間違い
- SceneビューとGameビューを同じものだと思う。Sceneは編集用、Gameはカメラから見た実行結果です。
- GameObjectとComponentを混同する。GameObjectにComponentを追加して機能を構成します。
- 親子関係があるオブジェクトの座標を、すべてワールド座標だと思う。
- Consoleのエラーを無視して先へ進む。エラーはスクリプトや設定の問題を示す重要な手掛かりです。
この章の要点
Sceneは場面、GameObjectは配置する対象、Componentは対象に機能を与える部品です。Hierarchyの親子関係とTransformの座標系を理解すると、次章のスクリプトによるオブジェクト操作が分かりやすくなります。