본문으로 건너뛰기
Unity C# 기초집LESSON 03

Scene, GameObject, Component

난이도입문
예상 시간30분
선수지식2강 Unity 프로젝트

3강. Scene, GameObject, Component

1. 이번 강의에서 해결할 문제​

Hierarchy에 오브젝트는 만들었지만 Transform, Sprite Renderer와 Camera가 어떤 관계인지 모르면 오브젝트가 안 보이는 원인을 찾기 어렵습니다.

2. 학습 목표​

3. 핵심 개념​

  • Scene: 한 화면이나 레벨의 GameObject 구성을 저장하는 에셋입니다.
  • GameObject: 이름, 활성 상태와 Component 목록을 담는 빈 그릇입니다.
  • Component: Transform, 렌더링, 물리, 스크립트처럼 실제 기능을 제공합니다.
  • Asset: Sprite, Scene, Script, Prefab처럼 Project에 저장되는 파일입니다.

모든 GameObject에는 Transform이 있습니다. 2D에서도 좌표는 Vector3이지만, 보통 X와 Y를 사용하고 Z는 렌더 순서나 카메라 거리 규칙에 맞게 유지합니다.

어디에서 무엇을 확인할까​

Unity 창보여 주는 것이번 강의에서 할 일
Project디스크의 Assets 폴더에 저장된 재료Game.unity Scene 에셋을 저장합니다.
Hierarchy현재 연 Scene에 존재하는 GameObjectWorld, 택배, 분류 지점을 부모·자식으로 정리합니다.
Inspector선택한 GameObject의 Component와 값Transform 위치와 Sprite Renderer 색을 바꿉니다.
Scene편집 중인 World를 배치하는 화면오브젝트를 원하는 위치로 옮깁니다.
GameMain Camera가 실제 플레이어에게 보여 주는 화면카메라 안에 세 Sprite가 보이는지 확인합니다.

GameObject 자체는 기능이 없는 Component 컨테이너입니다. PackagePrototype이라는 이름만으로는 화면에 나타나지 않습니다. Transform이 위치를 기억하고, Sprite Renderer가 어떤 Sprite를 어떤 색으로 그릴지 결정해야 Game 창에서 보입니다. Main Camera 역시 Camera Component를 가진 GameObject입니다.

부모·자식 관계는 정리용 폴더 역할만 하지 않습니다. 자식의 Transform은 부모 기준의 Local Position을 저장하고, 화면에 놓이는 최종 World Position은 부모 Transform의 영향을 받습니다. World를 이동했을 때 세 자식이 함께 움직이는 이유입니다.

4. 단계별 실습​

실습 목표​

택배와 분류 지점을 Scene에 배치하고, Hierarchy·Inspector·Game 창이 같은 대상을 서로 다른 관점에서 보여 준다는 것을 확인합니다.

시작 전 상태​

Unity Hub에서 DeliverySorter 프로젝트를 열고 Assets/DeliverySorter/Scenes/Game.unity를 엽니다. 새 Scene이라면 먼저 이 경로로 저장합니다. Play 버튼이 파란색이면 정지한 뒤 편집하세요. Play Mode에서 바꾼 Scene 값은 정지할 때 원래 값으로 돌아갈 수 있습니다.

1단계: 가장 작은 장면 조립​

  1. Hierarchy 빈 곳을 우클릭해 Create Empty를 선택하고 이름을 World로 바꿉니다.
  2. 같은 방식으로 Systems를 만듭니다. Transform 우측 메뉴의 Reset을 눌러 위치 (0, 0, 0), 회전 (0, 0, 0), 크기 (1, 1, 1)인지 확인합니다.
  3. 2D Object > Sprites > Square로 PackagePrototype을 만들고 World 아래로 드래그합니다.
  4. Inspector에서 Transform Position을 (0, 2, 0), Scale을 (1, 1, 1)로 둡니다.

완료하면 Scene 창과 Game 창 중앙 위쪽에 흰 사각형 하나가 보여야 합니다. Hierarchy에는 있지만 Game 창에 없다면 Main Camera의 위치와 PackagePrototype의 Z 값을 확인합니다.

2단계: 값을 바꾸고 결과 비교​

PackagePrototype을 두 번 복제해 BlueZone, OrangeZone으로 이름을 바꿉니다. 위치를 각각 (-3, -3, 0), (3, -3, 0)으로 두고 Sprite Renderer의 Color를 파랑과 주황으로 바꿉니다. Inspector에서 Color를 바꾸면 Scene과 Game 창이 즉시 달라지지만 Project 창의 원본 Square Sprite 에셋은 바뀌지 않습니다.

3단계: 직접 적용​

Square 하나를 더 만들어 MissZone으로 이름 짓고 화면 아래 중앙에 배치합니다. 어떤 색과 크기가 “잘못 분류된 택배가 도착하는 곳”을 가장 잘 나타낼지 직접 정하세요. 부모는 World로 지정합니다.

4단계: 스스로 확인​

World의 X 위치를 1만큼 옮겨 네 자식이 모두 함께 이동하는지 확인한 다음 0으로 되돌립니다. PackagePrototype 하나의 Local Position만 바꿀 때는 다른 자식이 움직이지 않아야 합니다. 마지막으로 Ctrl+S로 Scene을 저장합니다.

Hierarchy 결과

Game
├─ Main Camera
├─ World
│ ├─ PackagePrototype
│ ├─ BlueZone
│ └─ OrangeZone
└─ Systems

Game 창에는 위쪽의 택배 한 개와 아래쪽의 파란색·주황색 분류 지점이 보여야 합니다. MissZone까지 만들었다면 아래 중앙에 세 번째 지점이 보입니다. Hierarchy의 회색 글자는 비활성 상태이므로 각 GameObject 왼쪽 체크 상태도 확인합니다.

5. 코드가 동작하는 이유​

아직 스크립트가 없어도 Sprite Renderer Component가 Sprite와 Color를 받아 화면에 그립니다. Scene은 이 GameObject와 Component의 값, 부모·자식 관계를 직렬화해 저장합니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

막혔을 때​

증상확인할 위치해결
Square 생성 메뉴가 없음프로젝트가 2D Sprite 패키지를 포함하는지 확인Package Manager의 2D Sprite 설치 상태를 확인합니다. 메뉴 이름은 Unity 버전에 따라 조금 다를 수 있습니다.
색을 바꿔도 보이지 않음Inspector의 Sprite Renderer와 GameObject 활성 상태Sprite 슬롯, Color의 Alpha, Renderer 체크를 확인합니다.
자식이 부모와 같이 움직이지 않음Hierarchy 들여쓰기자식을 World 위에 드롭해 실제 부모·자식 관계인지 확인합니다.

8. 이해 점검 질문 3개​

9. 핵심 요약​

다음 강의 연결​

다음 강의에서는 방금 배치한 PackagePrototype에 첫 MonoBehaviour 스크립트를 붙여, 정적인 Scene 오브젝트가 프레임마다 움직이도록 만듭니다.

MINI QUIZ

Scene, GameObject, Component 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Scene, GameObject, Component”에서 다음 단계로 넘어가기 전에 확인할 핵심은 무엇인가요?
  2. 문제 2“Scene, GameObject, Component” 실습 중 ‘Z 위치를 임의로 변경’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

3강. Scene, GameObject, Component 미완료 상태