내일배움캠프 n일차 TIL
🔧 작업 내용: 보스방과 긴 방 추가 구현
Unity 방 생성 시스템에서 다음 기능을 추가했다.
- 보스방: 반드시 마지막 방에 생성되도록 구현
- 긴 방 (2칸 차지): 한 번만 생성되며, 입구/출구 및 좌표 연결 로직 구현
문제 해결 및 트러블슈팅
1. 긴 방 입구/출구 위치 처리 문제
문제 상황
긴 방은 2칸을 차지하지만, 입구는 단 한 곳만 연결되어야 한다.
처음에는 이미 작성된 코드에 따라서 자연스럽게 두 칸 모두 다음 방과 연결할 수 있게 처리되는 오류를 발견하였고,
이로 인해 연결되지 말아야 할 곳에도 문이 생기고, 게임 플레이 중 충돌 발생.
해결 방법
- 긴 방의 두 좌표 중 입구가 있는 좌표를 기준으로 반대편만 다음 방의 후보로 처리하도록 수정
- RoomGenerator에서 긴 방 생성 시 입구 방향 기록 및 필터링 로직 추가
2. Room 위치 보정 문제
문제 상황
긴 방의 프리팹은 정상 생성되었으나, 씬 뷰에서 아래로 0.5 유닛씩 밀려 보임
보스방이나 일반방과 높이가 달라 Door 위치가 어긋남
해결 방법
- 문제는 프리팹의 Pivot 위치 때문
- 긴 방은 왼쪽 방의 중심을 피벗으로 두고 있어, 오른쪽에 문 생성 시 bounds.extents.x * 2f만큼 오른쪽으로 보정 필요
- DoorSpawner, Room.cs 내 입구 좌표 계산식 재설정
그런데 아직 해결되지 않아서 해결 중..
📌 오늘의 기억 포인트
- 긴 방과 같이 여러 좌표를 점유하는 방은 좌표 계산과 연결 방향에 대한 논리 설계가 매우 중요함
- 타일맵 기반의 Room 위치 설정은 피벗 위치에 따라 실제 좌표가 어긋날 수 있음
- 연결 로직은 좌표 기반보다 Room 인스턴스 기반으로 설계하는 것이 안정적

'TIL' 카테고리의 다른 글
| 객체지향 설계의 5가지 원칙 - SOLID (0) | 2025.05.16 |
|---|---|
| Unity 협업 중 프리팹 충돌 및 .meta 파일 관련 트러블 슈팅 (1) | 2025.05.15 |
| 방 생성 및 문 이동 시스템 구현 (1) | 2025.05.09 |
| 2D 팀 프로젝트 기획하기 (1) | 2025.05.08 |
| 미니게임 UI 흐름 및 점수 갱신 관련 문제 해결 기록 (1) | 2025.05.07 |