본문 바로가기
TIL

방 종류 추가와 문 생성 수정

by vvin39 2025. 5. 12.

내일배움캠프 n일차 TIL

🔧 작업 내용: 보스방과 긴 방 추가 구현

Unity 방 생성 시스템에서 다음 기능을 추가했다.

  • 보스방: 반드시 마지막 방에 생성되도록 구현
  • 긴 방 (2칸 차지): 한 번만 생성되며, 입구/출구 및 좌표 연결 로직 구현
  •  

문제 해결 및 트러블슈팅

1. 긴 방 입구/출구 위치 처리 문제

문제 상황

긴 방은 2칸을 차지하지만, 입구는 단 한 곳만 연결되어야 한다.
처음에는 이미 작성된 코드에 따라서 자연스럽게 두 칸 모두 다음 방과 연결할 수 있게 처리되는 오류를 발견하였고,
이로 인해 연결되지 말아야 할 곳에도 문이 생기고, 게임 플레이 중 충돌 발생.

해결 방법

  • 긴 방의 두 좌표 중 입구가 있는 좌표를 기준으로 반대편만 다음 방의 후보로 처리하도록 수정
  • RoomGenerator에서 긴 방 생성 시 입구 방향 기록 및 필터링 로직 추가

 

2. Room 위치 보정 문제

문제 상황

긴 방의 프리팹은 정상 생성되었으나, 씬 뷰에서 아래로 0.5 유닛씩 밀려 보임
보스방이나 일반방과 높이가 달라 Door 위치가 어긋남

해결 방법

  • 문제는 프리팹의 Pivot 위치 때문
  • 긴 방은 왼쪽 방의 중심을 피벗으로 두고 있어, 오른쪽에 문 생성 시 bounds.extents.x * 2f만큼 오른쪽으로 보정 필요
  • DoorSpawner, Room.cs 내 입구 좌표 계산식 재설정

 

그런데 아직 해결되지 않아서 해결 중..

 

 

📌 오늘의 기억 포인트

  • 긴 방과 같이 여러 좌표를 점유하는 방은 좌표 계산과 연결 방향에 대한 논리 설계가 매우 중요함
  • 타일맵 기반의 Room 위치 설정은 피벗 위치에 따라 실제 좌표가 어긋날 수 있음
  • 연결 로직은 좌표 기반보다 Room 인스턴스 기반으로 설계하는 것이 안정적

 

 

최근댓글

최근글

skin by © 2024 ttuttak