본문 바로가기
Develop Story/Game Engine

Unity - Tilemap 타일맵 만들기

by 늘상의 하루 2020. 11. 30.

유니티에서 제공하는 타일맵 에디터 기능입니다. 몇년 전까지만 해도 타일맵 에디터를 사용하려면 따로 코딩을 해서 에디터를 만들거나 일일이 손으로 배치해야 하는 불편함이 있었습니다. 그럴 때는 편리함을 위해 ProGrid 같은 확장 도구를 사용하곤 했습니다만, 이제는 타일맵 기능이 추가되어 그럴 필요가 없어졌습니다. 타일맵 기능이 추가된지는 꽤 시간이 지났지만 취미로 게임 개발을 다시 시작하게 되면서 최근에 알게 된 기능입니다.

 

기능은 이러합니다.

 

1. 제공되는 그리드 타일 위에 원하는 이미지를 편리하게 배치 가능.

2. 룰타일 기능으로 연결되는 리소스를 편리하게 배치 가능.

 

 

패키지 매니저에서 2D 타일맵 에디터를 설치해 줍시다. 이거만 있으면 조금 아쉬운 기능입니다. 추가적으로 룰타일이라는 타일맵 에디터의 확장 프로그램을 설치해 줍시다.

 

github.com/Unity-Technologies/2d-extras

 

Unity-Technologies/2d-extras

Fun 2D Stuff that we'd like to share! Contribute to Unity-Technologies/2d-extras development by creating an account on GitHub.

github.com

 

깃 사이트에서 압축 파일을 받아 해제한 다음 Asset 폴더에 넣어 줍시다. 이걸로 모든 준비는 끝났습니다.

 

게임 오브젝트에서 2D 오브젝트 - 타일맵을 생성해 줍시다.

타일맵은 전용 인스펙터가 있습니다. 윈도우 - 2D 타일 팔레트를 추가하여 편한 위치에 배치해 줍시다.

다음으로 하이어라키에 생성된 그리드를 선택하면 아래와 같은 이미지가 나타납니다.

 

저는 미리 준비한 리소스를 사용하여 진행하겠습니다.

우측의 새로운 팔레트 생성을 선택하고 적절한 위치에 저장해 줍시다.

저장되었다면 생성된 팔레트 위에 준비된 리소스를 하나하나 넣어줍시다.

그러면 아래와 같은 이미지가 됩니다.

 

 

프로젝트 폴더에는 삽입된 이미지들이 타일 파일로 생성됩니다. 팔레트 창에서는 삽입된 이미지들을 확인할 수 있으며 해당 이미지들을 선택하여 씬 화면에 클릭하는 것으로 자유롭게 배치가 가능합니다. 그러나 이러한 방법들은 기존보다 편리하지만 상하좌우로 연결되는 리소스들을 하나하나 배치해야 한다는 번거로움이 있습니다.

 

이러한 불편을 해소하고 자동으로 연결해 주는 기능이 위에서 설치했던 추가 확장 프로그램 룰타일 입니다.

 

적절한 폴더에 룰타일 파일을 생성합니다.

 

 

룰타일 파일은 선택하면 우측과 같이 리소스마다 규칙을 설정할 수 있습니다.

그리드에 배치된 리소스와 인접한 리소스들을 규칙에 맞게 자동으로 바꿔줍니다.

 

 X : 해당 위치에 리소스가 없을 때 해당 리소스를 적용합니다.

↑ : 해당 위치에 리소스가 있으면 해당 리소스를 적용합니다.

↔ : 좌우 반전이 가능한 이미지입니다.

┌ : 회전 가능한 리소스 이미지입니다.

 

모든 규칙을 설정하면 우측 하단과 같은 이미지가 완성됩니다.

그리고 만들어진 룰타일 파일을 타일 팔레트에 넣어봅시다.

 

 

단일 이미지로 출력되지만 씬 화면에 타일을 배치하면 자동으로 리소스를 변경해 준다는 것을 확인할 수 있습니다.

아래가 그 결과입니다.

 

 

벽을 만들었으면 판정을 위해 충돌체가 필요합니다.

Grid의 하위 오브젝트를 선택하고 타일맵 콜라이더 2D 를 넣어주시면 됩니다.

 

 

이 기능을 1년만 빨리 알았다면 얼마나 좋았을까요