팀스파르타 내일배움캠프

[TIL] 유니티 2D 타일맵 시스템 설계 및 첫 레벨 제작

creator2041 2025. 7. 1. 20:49

오늘은 유니티의 2D 타일맵 시스템을 활용해 실제 게임 월드를 구성하는 작업에 착수했다. 단순히 타일을 배치하는 것을 넘어, 확장성과 유지보수성을 고려한 구조 설계에 집중했다. 작업의 핵심은 다음과 같다.


1. 룰타일(Rule Tile): 똑똑한 자동 배치 타일

Unity의 Rule Tile은 주변 타일 정보를 기반으로 스스로 모양을 바꾸는 타일이다. 절벽, 경계선, 벽면 등을 일일이 손으로 배치할 필요 없이 하나의 타일로 자연스러운 형태를 자동으로 완성해준다.

  • 활용 사례: 절벽 모서리, 땅 경계 등
  • 장점: 반복 작업 감소, 지형 제작 시간 단축
  • 느낀 점: 추후 동굴이나 지형이 복잡한 맵에 꼭 활용할 것

2. 타일맵 vs 프리팹: 역할 분리 전략

🔹 타일맵(Tilemap)

  • 용도: 배경, 지형, 단순 벽 등 기능이 없는 오브젝트
  • 장점: 성능 최적화, 대량 배치에 적합

🔹 프리팹(Prefab)

  • 용도: 문, 창문, 망루, 성문 등 상호작용이 필요한 오브젝트
  • 장점: 기능 확장성, 개별 파트 제어 가능

➡️ 결론: 성벽은 타일맵, 성문이나 망루는 프리팹으로 제작하여 유연하게 구성


3. 다중 맵 관리: '맵 컨테이너' 시스템

씬을 나누지 않고 하나의 씬 안에서 여러 맵을 다루기 위한 구조를 설계했다.

  • 구현 방식:
    • StartVillage, StartField와 같은 이름의 빈 오브젝트 생성
    • 각 컨테이너에 Grid 및 5개의 Tilemap 레이어 추가
    • 컨테이너 단위로 SetActive()를 활용한 맵 전환 가능
  • 장점:
    • Hierarchy 정리 용이
    • 전환이 빠르고 효율적
    • 맵 간 이동 시 컨테이너만 활성화/비활성화하면 됨

4. 오늘의 작업 흐름 요약

  • 컨테이너 생성: StartVillage, StartField 생성
  • 타일맵 레이어 구성: Walkable_Tilemap, Ground_Wall_Tilemap 등 5개 계층 구축
  • 물리 설정: 벽/구조물에 Tilemap Collider 2D 적용
  • 렌더링 정리: 각 레이어에 적절한 Order in Layer 부여
  • 첫 맵 제작: StartVillage의 기본 레이아웃 구현 완료

느낀 점

처음에는 에셋 정리, 팔레트 설정, 레이어 구성 등 준비 과정이 복잡하게 느껴졌지만, 직접 구조를 잡아보니 앞으로의 작업 흐름이 훨씬 명확해질 것이라는 확신이 들었다. 단순히 타일을 배치하는 것을 넘어, ‘시스템을 설계한 뒤 그리는 것’의 중요성을 체감할 수 있었던 하루였다.

이제 이 기반 위에서 본격적인 컨텐츠 배치를 시작할 수 있을 것이다.