실습 목표와 범위
각 개념을 따로 확인했던 2교시에서 나아가, 여러 GameObject가 함께 구성된 장면을 완성합니다. 이미 있는 GameObject와 Prefab은 다시 만들지 않고, 필요한 부분을 보완합니다.
2교시는 속성을 하나씩 바꾸며 원리를 관찰하는 시간이었다면, 이번 교시는 자신의 배치로 장면을 구성하고 전체 결과를 검증하는 시간입니다. 먼저 완료 점검에서 목표 상태를 확인한 뒤, 아래 안내 중 필요한 단계만 참고해 위치·크기·겹침과 연결 상태를 보완합니다.
- Component 조합과 부모·자식 관계를 통한 장면 구성
- Sorting Layer와 Order in Layer를 통한 Sprite 정렬
- Prefab 재사용과 Game 뷰의 실행 결과 검증
이번 실습의 결과물은 구조와 표시 순서가 정리된 정적인 2D Scene입니다. C# Script, Rigidbody2D, Collider2D와 키보드 이동 입력은 추가하지 않습니다.
장면 구성 기준
Player 옆에 방향 표시를 두고, 같은 Prefab을 사용하는 Collectible 세 개를 배치합니다. 배경과 전경을 구분하되, 개별 오브젝트의 위치·크기와 색은 장면에 맞게 조절합니다.
GameObject 계층
Main Camera Background Player └── DirectionMarker Collectible_01 Collectible_02 Collectible_03 ForegroundBush
장면의 구성 요소
- 중심 대상
Player와 그 자식인 DirectionMarker. Player의 Transform을 변경해 함께 이동하는 관계를 확인합니다.
- 반복 대상
하나의 Collectible Prefab Asset에 연결된 Instance 세 개. 공통 속성의 변경으로 연결 상태를 확인합니다.
- 배경과 전경
Background는 뒤에, ForegroundBush는 다른 Sprite 일부를 가리는 앞쪽에 배치합니다.
위 계층은 필수 대상의 관계만 나타낸 것입니다. 템플릿의 Global Light 2D 등 기존 조명은 유지합니다. Rock은 선택 소품이며, 빈 그룹 부모는 필수가 아닙니다.
STEP 1 · 작업 장면 확인
학기 프로젝트 GameEngine1에서 2교시에서 저장한 Week02_Playground Scene을 엽니다. 새 프로젝트를 만들거나 기존 장면을 비울 필요는 없습니다.
Scene 확인
Project 창에서
Assets/Scenes/Week02_Playground.unity를 더블클릭합니다. 이미 열려 있다면 그대로 사용합니다. 파일이 없거나 다른 이름으로 작업했다면 2교시 작업 Scene 준비에서 저장 위치를 먼저 확인합니다.Sprite Asset 확인
Assets/Sprites에 실습용 PNG 여섯 개가 있는지 확인합니다. 빠진 경우에만 2교시 Sprite 가져오기 안내를 따라 추가합니다. 가져오기 설정은Sprite (2D and UI),Single, PPU1254를 사용합니다.편집 상태 확인
Play Mode를 종료하고 Main Camera와 기존 GameObject를 확인합니다. Project의
Assets/Prefabs/Collectible.prefab과 Scene의 Instance 연결을 살펴본 뒤, 완료 점검을 기준으로 보완할 항목을 정합니다.
Week02_Playground Scene이 열려 있고, 저장되지 않은 변경을 뜻하는 별표가 없는 상태.
STEP 2 · GameObject 구성과 부모·자식 관계
필수 대상에 Transform과 Sprite Renderer가 구성되어 있는지 확인합니다. GameObject의 이름만으로는 이미지나 동작이 생기지 않습니다. 각 대상에 필요한 Component와 Sprite가 연결되어야 합니다.
Component와 Sprite 연결
없는 대상만
Hierarchy + → Create Empty로 만들고 이름을 지정합니다. Inspector의Add Component → Sprite Renderer를 추가한 뒤, Project의 같은 이름 PNG를Sprite칸으로 드래그 앤 드롭합니다. Color는 흰색, Alpha는1로 시작합니다.Transform 기준 설정
Player와 DirectionMarker의 Rotation은
(0, 0, 0)으로 시작합니다. Player의 Scale은(1, 1, 1), Collectible은(0.6, 0.6, 1)을 기준으로 잡습니다. 모든 Sprite의 Position Z는0으로 두고 X와 Y로 배치합니다.부모·자식 관계 설정
Hierarchy에서 DirectionMarker를 Player 위로 드래그해 자식으로 둡니다. 부모를 지정한 뒤 DirectionMarker의 Inspector에서 local Position을
(0.65, 0, 0), local Scale을(0.35, 0.35, 1)로 설정합니다.좌표 변화 확인
Edit Mode에서 Player의 Position X를 바꿉니다. DirectionMarker의 local Position은 유지되지만 월드 위치는 Player와 함께 바뀝니다. 확인 후 Player를 원하는 위치에 둡니다.
(0.65, 0, 0)과 Scale (0.35, 0.35, 1)은 부모인 Player를 기준으로 한 local 값입니다. Sorting Layer Actors와 Order in Layer 1은 STEP 3의 정렬 기준과 같습니다.Collectible은 기존 Prefab Instance가 있다면 그대로 사용합니다. 아직 없다면 하나만 구성하고, STEP 4에서 Prefab Asset을 만듭니다. 배경과 수풀의 크기는 다음 단계에서 조절합니다.
DirectionMarker가 Player 아래에 들여쓰기되고, Player의 이동에 따라 함께 이동하는 상태.
STEP 3 · Sprite 정렬과 화면 구성
오브젝트의 앞뒤는 Sprite Renderer의 정렬 설정으로 구분합니다. 2교시에서 만든 Sorting Layer를 그대로 사용하며, 누락된 이름만 추가합니다.
Sorting Layer 목록 확인
Edit → Project Settings → Tags and Layers의 Sorting Layers에서Background → Actors → Foreground순서를 확인합니다. 목록 아래쪽 Layer가 앞에 그려집니다. 오브젝트 상단의 일반Layer와는 다른 설정입니다.Sprite Renderer 정렬
각 GameObject의 Sprite Renderer에서 아래 값을 지정합니다. 같은 Sorting Layer 안에서는 Order in Layer가 큰 대상이 앞에 그려집니다.
| GameObject | Sorting Layer | Order in Layer |
|---|---|---|
| Background | Background | 0 |
| Player · Collectible | Actors | 0 |
| DirectionMarker | Actors | 1 |
| ForegroundBush | Foreground | 0 |
카메라 범위와 겹침
Main Camera는 Orthographic을 사용합니다. Game 뷰에서 주요 대상이 모두 보이도록 X·Y 위치를 배치하고, 필요하면 카메라의 Size로 표시 범위를 조절합니다. Background의 Scale을 키워 장면의 바탕을 만들고, ForegroundBush를 Player나 Collectible의 일부와 겹치게 둡니다.
Scene 뷰의 확대·이동은 작업 시점만 바꿉니다. 최종 화면은 Main Camera가 결정하므로 Game 뷰에서 확인합니다. 이 실습에서는 같은 정렬 값을 가진 Player와 Collectible은 서로 떨어뜨려 배치합니다.
배경·대상·전경의 순서가 구분되고, 주요 Sprite가 Game 뷰의 카메라 범위 안에 보이는 상태.
STEP 4 · Prefab 재사용
Prefab Asset 하나와 이에 연결된 Instance 세 개를 구성합니다. 같은 모양의 오브젝트가 여러 개 있다는 사실만으로는 Prefab 연결을 확인할 수 없습니다.
Prefab Asset 생성
아직 Prefab이 없다면 Hierarchy의 Collectible을 Project 창의
Assets/Prefabs폴더로 드래그 앤 드롭합니다.Collectible.prefab이 생성되며, Scene에 있던 Collectible은 이 원본에 연결된 첫 Instance가 됩니다.Instance 세 개 배치
남아 있는 첫 Instance에 두 개를 추가해 총 세 개로 구성합니다. Project의
Collectible.prefab을 Scene 뷰로 두 번 더 드래그하고, 이름을Collectible_01,Collectible_02,Collectible_03으로 지정합니다. 이미 세 개가 있다면 추가하지 않고 연결과 위치를 확인합니다.공통 속성 변경
Project에서
Collectible.prefab을 더블클릭해 Prefab Mode로 엽니다. 원본의 Sprite Renderer에서 Color를 바꿉니다. 무채색 Collectible 이미지이므로 밝은 색으로 지정하면 변화를 비교하기 쉽습니다. 저장 후 상단의 뒤로 가기 화살표로 Scene에 돌아옵니다.변경 결과 비교
세 Instance의 색이 함께 바뀌는지 확인합니다. 특정 Instance만 다르면 같은 원본인지, 해당 Instance에
Color Override가 있는지 확인합니다. 이 단계에서는 개별 Color 변경을 되돌려 원본의 공통 값을 사용합니다.
Prefab 항목과 Overrides, Select, Open 버튼이 나타나며, 이 표시가 Prefab Asset과 연결되어 있다는 근거입니다. 원본의 Color를 하늘색으로 바꾸자 Game 뷰의 세 Instance가 같은 색이 되었습니다. 예시는 Prefab을 Assets/Week2_Practice/Prefabs에 두었지만, 폴더 위치가 달라도 연결 방식은 같습니다.Collectible이 총 세 개이며, 원본 Color 변경이 세 Instance에 함께 반영되는 상태.
STEP 5 · 실행 결과 확인
이번 단계는 카메라가 출력하는 화면과 오류 유무를 확인하는 과정입니다. 이동 Script를 추가하지 않았으므로 Play를 눌러도 Player가 자동으로 움직이지 않는 것이 정상입니다.
실행 전 저장
Edit Mode에서
Ctrl/Cmd + S로 Scene을 저장합니다. Prefab Mode에서 수정했다면 원본도 저장된 상태인지 확인합니다.Game 뷰와 Console 확인
Play를 누르고 Player, 방향 표시와 Collectible 세 개가 보이는지 확인합니다. 전경의 겹침을 살펴보고 Console의 빨간 오류가 0개인지 확인합니다. 오류가 있다면 첫 메시지부터 원인을 확인합니다.
편집 상태 복귀
Play를 종료합니다. 조정할 값이 있다면 Edit Mode에서 수정하고 다시 저장합니다. Play 중에 바꾼 Scene 값은 종료 시 복원되므로 최종 편집으로 남기지 않습니다.
의도한 Game 화면과 오류 0개를 확인하고, Play 종료 후 Scene이 저장된 상태.
결과 화면과 구조 기록
저장한 Unity 프로젝트와 함께 화면 두 장, 구조 설명 한 문장을 남깁니다. 스크린샷만으로는 Prefab 연결의 동작을 증명할 수 없으므로, 공통 속성 변경은 STEP 4에서 직접 확인합니다.
- Game 화면
week02_game.pngPlayer와 방향 표시, Collectible 세 개, 배경과 전경의 겹침이 보이는 Game 뷰.
- 장면 구조
week02_structure.pngDirectionMarker의 들여쓰기, Collectible 세 Instance와 Project의 Collectible.prefab Asset이 보이는 Editor 화면.
두 화면의 예시는 STEP 5의 Game 뷰와 STEP 2의 Editor 화면을 참고합니다. 배치, 색과 폴더 구조는 자신의 장면에 맞게 달라도 됩니다.
부모·자식 관계, Sprite 정렬, Prefab 재사용 중 두 개를 골라 설정과 결과를 한 문장으로 연결합니다.
입력한 문장은 이 기기에 자동 저장됩니다.실습 완료 점검
Unity에서 결과를 직접 확인한 항목만 체크합니다. 이 체크는 Unity 파일을 검사하거나 제출하는 기능이 아닙니다.
완료 항목
Week02_Playground.unity 파일 확인, 저장되지 않은 변경 없음.
Player 이동 시 DirectionMarker의 동반 이동과 local Position 유지.
Game 뷰에서 주요 대상 표시, 배경·대상·전경의 순서 구분.
같은 원본의 Collectible 세 Instance, 원본 Color 변경의 동시 반영.
Console 오류 0개, Play 종료 후 저장, 화면 두 장과 구조 설명 준비.
문제 해결과 메뉴 참고
증상에 해당하는 항목을 펼쳐 확인합니다. 문제가 있는 GameObject를 선택하고, 마지막에 바꾼 속성부터 한 가지씩 비교합니다.
Scene 파일 누락과 저장 위치
Project의 검색어를 비우고 Assets/Scenes를 확인합니다. Scene 이름이 다르면 현재 작업을 확인한 뒤 Save As로 저장합니다. Hierarchy에 오브젝트가 보이는 것과 Scene 파일에 변경 사항이 저장된 것은 다릅니다.
Sprite 미표시와 크기 이상
Sprite Renderer의 Sprite가 None인지, Color의 Alpha가 0인지 먼저 확인합니다. PNG를 연결할 수 없다면 Texture Type을 Sprite (2D and UI)로 설정하고 Apply합니다. 크기가 지나치게 크면 PPU 1254와 Transform Scale을 확인합니다.
Scene에는 보이고 Game에는 없다면 Main Camera의 범위, 대상의 활성 상태와 다른 Sprite의 가림을 확인합니다. 카메라 밖에 있는 오브젝트는 Hierarchy에 남아 있어도 Game 화면에는 나타나지 않습니다.
DirectionMarker의 위치와 동반 이동
Hierarchy에서 DirectionMarker가 Player 바로 아래에 들여쓰기되어 있는지 확인합니다. 부모를 지정한 뒤 Marker의 local Position을 (0.65, 0, 0)으로 설정합니다. 예상보다 크거나 멀리 보인다면 Player의 Scale과 Rotation도 함께 확인합니다.
Sprite 가림과 정렬 순서
Sprite Renderer의 Sorting Layer가 지정되어 있는지 확인합니다. 목록 순서는 Background, Actors, Foreground이며, 같은 Actors 안에서 Player의 Order는 0, DirectionMarker는 1입니다. 이 실습에서는 Sprite의 Z Position을 0으로 유지합니다.
Prefab 변경의 미반영
Hierarchy의 개별 대상이 아니라 Project의 Collectible.prefab을 열어 수정했는지 확인합니다. 세 Instance가 같은 Asset에 연결되어 있는지도 확인합니다. 특정 Instance에 Color Override가 있다면 해당 Color 속성만 Revert해 원본 값을 다시 사용합니다. 다른 의도적인 변경까지 모두 되돌리지 않도록 주의합니다.
Play 종료 후 편집 값 복원
Play Mode에서 바꾼 Scene 값은 테스트를 위한 변경입니다. Play를 멈춘 Edit Mode에서 최종 값을 다시 설정하고 Ctrl/Cmd + S로 저장합니다.
선택 확장
기본 장면을 저장하고 완료 점검을 마친 뒤, 아래 항목 중 하나를 선택합니다.
Instance별 속성 차이
Collectible_03의 Sprite Renderer Color만 바꾸어 다른 두 Instance와 비교합니다. 해당 Color 속성의 Override 표시를 확인한 뒤 그 속성만 Revert해 원본의 공통 값으로 복원합니다.전경과 소품 배치
ForegroundBush의 위치와 크기를 조절해 주요 대상을 식별할 수 있는 정도로 겹칩니다. 필요하면
Rock.png로 소품을 만들고, 역할에 맞는 Sorting Layer를 지정합니다.
참고 자료
- Transform ↗부모·자식 관계와 좌표 기준
- 2D Sprite 정렬 ↗Sorting Layer와 Order in Layer
- Prefab 생성 ↗Asset 생성과 Scene Instance의 연결
- Prefab 원본 편집 ↗Prefab Mode와 공통 속성 수정
- 1교시 개념 자료Editor, Component와 카메라
- 2교시 적용 자료Sprite 가져오기, Transform, 계층과 Prefab