# 스테이지 배경 설정 가이드

## 🎨 개요

Git 동기화 문제를 해결하기 위해 **스크립트 기반 배경 시스템**을 사용합니다.
씬 파일을 수정하는 대신, 런타임에 자동으로 배경을 생성합니다.

**장점:**
- ✅ Git에서 씬 파일 충돌 없음
- ✅ 모든 스테이지에 동일한 배경 자동 적용
- ✅ 배경 이미지만 교체하면 모든 스테이지 업데이트

---

## 📋 설정 단계

### 1단계: Resources 폴더 생성

Unity에서 Resources 폴더를 만들어야 합니다 (없다면):

1. **Project 창에서 Assets 폴더 선택**
2. **우클릭 → Create → Folder**
3. **이름: `Resources`** (정확히 이 이름이어야 함!)

**최종 경로:**
```
Assets/
└── Resources/
```

---

### 2단계: 배경 이미지 준비 및 추가

#### 배경 이미지 준비
- **권장 해상도**: 1920x1080 이상
- **파일 형식**: PNG (투명도 지원) 또는 JPG
- **파일 이름**: `StageBackground.png` (또는 원하는 이름)

#### Unity로 이미지 가져오기

1. **배경 이미지 파일을 `Assets/Resources` 폴더로 드래그**

2. **이미지 클릭 → Inspector 창에서 설정**:
   - **Texture Type**: `Sprite (2D and UI)`
   - **Pixels Per Unit**: `100`
   - **Filter Mode**: `Bilinear`
   - **Compression**: `Normal Quality` (또는 None)
   - **Apply** 버튼 클릭

---

### 3단계: Sorting Layer 설정

배경이 다른 오브젝트 뒤에 표시되도록 설정:

1. **Edit → Project Settings → Tags and Layers**

2. **Sorting Layers 섹션에서 `+` 버튼 클릭**

3. **새 레이어 추가**:
   - 이름: `Background`

**최종 Sorting Layers 순서:**
```
1. Background      (배경 - 가장 뒤)
2. Default         (타일맵, 플랫폼)
3. Player          (플레이어)
4. UI              (UI 요소 - 가장 앞)
```

---

### 4단계: 씬에 Manager 추가

**모든 스테이지 씬(Stage1, Stage2, Stage3, Stage4)에 다음 작업 수행:**

#### Stage1.unity 씬 열기

1. **Hierarchy 우클릭 → Create Empty**
2. **이름: `StageBackgroundManager`**
3. **Inspector에서 Add Component 클릭**
4. **`StageBackgroundManager` 검색 후 추가**

#### Inspector 설정 확인

StageBackgroundManager 컴포넌트에서:

- **Background Image Name**: `StageBackground` (확장자 제외)
  - 만약 이미지 이름이 다르면 여기에 입력 (예: `MyBackground`)
- **Sorting Layer Name**: `Background`
- **Sorting Order**: `-100`
- **Background Z Position**: `10`
- **Auto Scale**: ✓ (체크)

**Parallax Settings (원근감 효과):**
- **Enable Parallax**: ✓ (체크) - 배경이 카메라보다 천천히 움직임
- **Parallax Speed**: `0.3` (0~1 사이 값)
  - `0` = 배경 완전 고정 (멀리 있는 느낌)
  - `0.3` = 천천히 움직임 (권장)
  - `0.5` = 절반 속도
  - `1` = 카메라와 같이 움직임
- **Parallax Size Multiplier**: `2.5` - 배경을 더 크게 만들어 맵 밖에서도 보임

**Background Size Settings (배경 크기 설정):**
- **Vertical Scale Multiplier**: `1.5` - 위아래로 1.5배 더 늘림
- **Enable Horizontal Tiling**: ✓ (체크) - 양옆에 이미지 반복
- **Horizontal Tile Count**: `1` - 좌우 각 1개씩 추가 (총 3개 배경)

#### 다른 스테이지에도 동일하게 적용

**Stage2, Stage3, Stage4 씬도 위와 동일하게 설정**

---

### 5단계: 테스트

#### Unity 에디터에서 테스트

1. **Stage1 씬 열기**
2. **Play 버튼 클릭**
3. **확인 사항**:
   - ✓ 배경 이미지가 화면 전체에 표시됨
   - ✓ 배경이 타일맵과 플레이어 뒤에 있음
   - ✓ 플레이어가 움직일 때 배경이 천천히 따라옴 (Parallax 효과)
   - ✓ 맵 밖으로 나가도 배경이 계속 보임
   - ✓ 게임 플레이에 방해되지 않음

4. **Stage2, Stage3, Stage4도 동일하게 테스트**

#### Git 동기화 테스트

1. **변경사항 커밋 및 푸시**:
   ```bash
   git add .
   git commit -m "Add stage background system"
   git push
   ```

2. **다른 환경에서 Pull**:
   ```bash
   git pull
   ```

3. **Unity에서 씬 열고 Play**
   - 배경이 정상적으로 표시되는지 확인

---

## 🎨 배경 이미지 교체 방법

나중에 배경을 바꾸고 싶다면:

1. **새 배경 이미지를 `Assets/Resources` 폴더에 추가**
2. **기존 `StageBackground.png` 삭제 (또는 이름 변경)**
3. **새 이미지 이름을 `StageBackground.png`로 변경**
4. **또는 StageBackgroundManager의 `Background Image Name` 필드 수정**

**모든 스테이지가 자동으로 새 배경을 사용합니다!**

---

## 🐛 문제 해결

### 배경이 안 보인다면?

**Console 창 확인**:
- `배경 이미지를 찾을 수 없습니다` 메시지가 있다면:
  - Resources 폴더에 이미지가 있는지 확인
  - 이미지 이름이 정확한지 확인 (확장자 제외)
  - Texture Type이 Sprite로 설정되었는지 확인

**Hierarchy 확인**:
- Play 모드에서 Hierarchy에 `StageBackground` GameObject가 생성되는지 확인
- 없다면 StageBackgroundManager가 씬에 있는지 확인

### 배경이 플레이어 앞에 표시된다면?

**Sorting Layer 확인**:
- StageBackgroundManager의 `Sorting Layer Name`이 `Background`인지 확인
- `Sorting Order`가 음수(-100)인지 확인

### 배경 크기가 이상하다면?

**Auto Scale 확인**:
- StageBackgroundManager의 `Auto Scale`이 체크되어 있는지 확인
- 체크 해제하고 `Manual Scale`을 조정할 수도 있음 (예: 20, 20, 1)

### 배경이 반복된다면?

**중복 Manager 확인**:
- Hierarchy에 StageBackgroundManager가 여러 개 있는지 확인
- 하나만 남기고 나머지 삭제

---

## 💡 팁

### 다른 배경 이미지 사용하기

스테이지마다 다른 배경을 원한다면:

1. **Resources 폴더에 여러 이미지 추가**:
   - `Stage1Background.png`
   - `Stage2Background.png`
   - `Stage3Background.png`
   - `Stage4Background.png`

2. **각 씬의 StageBackgroundManager 설정**:
   - Stage1: `Background Image Name` = `Stage1Background`
   - Stage2: `Background Image Name` = `Stage2Background`
   - Stage3: `Background Image Name` = `Stage3Background`
   - Stage4: `Background Image Name` = `Stage4Background`

### Parallax 속도 조정하기

배경이 너무 빨리 또는 너무 느리게 움직인다면:

1. **StageBackgroundManager 선택**
2. **Parallax Speed 조정**:
   - 배경을 더 멀리 있게: `0.1 ~ 0.2`
   - 적당한 거리감: `0.3 ~ 0.5` (권장)
   - 배경을 가까이: `0.6 ~ 0.8`

3. **Parallax 끄기**:
   - `Enable Parallax` 체크 해제
   - 배경이 카메라와 같이 움직임

---

## 🎉 완성!

이제 모든 스테이지에 **원근감 있는 배경**이 자동으로 적용됩니다!

**Git 동기화 문제 없이 팀원들과 협업할 수 있습니다!** 🎮
