프로그래밍/Unity

[Unity] 타일맵 (Tilemap) 2 - 타일맵의 기능을 확장해보자! (2D Extras)

등록금내야해 2020. 10. 16. 00:57

유니티 패키지 매니저로 다운받거나, 기존에 포함되어 있는 타일맵 기능 이외에도, 유니티 테크놀러지스는 GitHub 저장소에 별도의 타일맵 확장 기능을 제공하고 있습니다. 설치과정이 꽤 복잡하게 느껴질수도 있지만, 유용한 기능들을 많이 포함하고 있습니다 🙂

 

설치하기

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

 

설치에 앞서, 깃(git)을 통해 다운로드 받아야하기 때문에 깃을 먼저 설치해두셔야합니다!

깃이 설치되어 있는지 확인해주세요~ 깃을 새로 설치하셨다면, 유니티와 유니티 허브를 재시작해주시고 계속 진행해주세요

 

상단 메뉴 Windows>Packages Manager 를 통해 패키지 매니저를 열어줍니다.

그리고 Add package from git URL을 통해 위의 깃허브 링크를 더해줍니다.

https://github.com/Unity-Technologies/2d-extras.git#master

 

여기서 "master" 부분을 유니티 버전에 따라 다르게 입력해주시면 됩니다.

2020 이상 : master

2019.2 ~ 2019.4 : 1.5.0-preview

2019.1 : 2019.1

2018.3 ~ 2018.4 : 2018.3

2018.2 : 2018.2

2017 : 2017

 

그리고 잠시 기다려주신뒤, 위의 드롭다운을 In Project를 선택해주셔서 타일맵 엑스트라가 설치된 모습을 확인해줍니다.

또한 다수의 스프라이트 편집을 위해 2D Sprite 패키지도 설치해줍니다.

 

Rule Tile

프로젝트 탭에서 우클릭>2D>Tiles>Rule Tile을 통해 룰타일 타일 이미지를 새로 만들어줍니다.

우선 모든 경우의 수를 고려한 가로 세로 128 사이즈 타일로 이루어진 룰타일 이미지 파일을 새로 만들어주고 프로젝트에 넣어줍니다.

그리고 해당 이미지파일 속성을 다음과 같이 변경해주시고 Sprite Editor 버튼을 통해 스프라이트 에디터를 열어줍시다.

slice 버튼을 누르셔서 타일 길이 128 기준 다음과 같이 작성해주시고 Apply 버튼을 통해 타일 이미지를 셀 사이즈에 따라 잘라주세요.

 

잘라진 스프라이트 이미지들은 프로젝트 탭에서 확인할수 있습니다.

이제 룰타일을 선택해서 인스펙터 탭을 확인해봅시다.

아래의 Tiling Rules에 이제 나누어진 15개의 타일을 추가해봅시다.

아래의 +탭을 통해 새 타일을 열어주시고, 나누어진 타일들을 각 공간에 드래그해줍니다.

여기서, 타일을 그릴때 모서리에 따라 어느 타일을 정해줄지 룰을 정해주어야합니다.

스프라이트 옆에 보이는 3x3 격자를 이용해 룰을 정해주면 됩니다.

 

방향 룰

 

타일 룰을 생성할때 격자 가운데 아이콘을 클릭하여, 방향 룰을 정해줄수 있습니다.

고정(Fixed)

방향에 상관없는 타일에 주로 사용됩니다.

 

가로 대칭(MirrorX)

가로 반대 방향에서 가로 대칭된 타일이 자동 생성됩니다.

 

 

세로 대칭(MirrorY)

세로 반대 방향에서 세로 대칭된 타일이 자동 생성됩니다.

 

가로/세로 대칭(MirrorXY)

가로/세로 모두 반대인 방향에서 모두 대칭된 타일이 자동생성 됩니다.

 

회전 (Rotated)

90도, 180도, 270도 회전된 방향에서 회전된 모든 타일이 자동생성 됩니다.

 

예시)

 

타일 룰 작성 요령

 

 

1 - 우선 타일이 충돌하는 부분을 고려해 타일 룰의 모서리는 비워두고 나머진 X표 해둡니다.

2 - 타일끼리 이어지는 부분을 화살표로 해둡니다.

3 - 타일내부에서 존재하는 타일 가장자리 부분을 고려해 X표 해둡니다.

4 - 방향 룰을 정해줍니다.

 

 

모든 타일을 정렬해두셨으면, 다음과 같이 타일 하나로 이어져있는 지형을 그릴수 있습니다 😁

 

애니메이티드 타일 (Animated Tile )

다음으로, 폭포, 불 등 애니메이션이 필요한 타일을 표현하고자 할때, 애니메이티드 타일로 표현할수 있습니다.

프로젝트 탭에서, Create>2D>Tiles>Animated Tile 을 통하여 애니메이티드 타일을 만들어줍니다.

 

만든 애니메이티드 타일을 선택해주시면 인스펙터 탭에서 다음과 같은 속성을 확인할 수있습니다

Number of Animated Sprites : 타일에 들어가는 스프라이트의 개수

Place sprites shown based on the order of animation

-> 이 문구 안에 들어있는 목록에 애니메이션에 들어갈 스프라이트를 추가해줍니다.

Minimum Speed/Maximum Speed : 최소/최대 속도입니다. 고정된 속도를 원하시면 둘다 같이 설정해주시면 됩니다.

Start Time : 애니메이션 시작전 대기하는 시간입니다. 0일시 바로 시작합니다.

Start Frame : 애니메이션이 시작될 프레임입니다. 목록에 있는 스프라이트가 몇번째인지 확인해주시면됩니다. (0에서부터 시작)

 

프리팹 브러시 Prefab Brush

아이템이나 오브젝트를 격자 단위로 쉽게 배치할 때 유용한 브러쉬입니다.

 

프로젝트 탭에서 Create>2D>Brushes>Prefab Brush 를 통해 프리팹 브러쉬를 만들어줍니다.

프리팹 브러쉬에 넣어줄 프리팹을 하나 만듭니다.

 

만들어둔 프리팹 브러쉬의 Prefab에 프리팹을 넣어줍니다.

만약 프리팹의 중심이 맞지 않을때, Anchor에서 중심을 다시 잡아줄 수 있습니다.

 

이렇게 설정한 프리팹 브러쉬는 타일팔레트 하단의 브러쉬탭에서 선택하여 사용하실 수 있습니다.

불편한점은, 브러쉬 당 프리팹 하나를 특정해서 써야해서, 여러가지 브러쉬를 만들어서 일일이 브러쉬를 바꿔줘야하는 점입니다.

 

프리팹 브러쉬를 선택하시고, 상단의 붓틀을 선택하시면 타일맵에 쉽게 프리팹이 배치 가능해집니다.