유니티

유니티 05. 2D Tilemap Editor

채채_._. 2024. 5. 8. 18:30

Tilemap이란?

- 타일 형태의 리소스를 배치해 게임 월드를 표현하는 방법

Tilemap Editor 구성 요소

  • Tile Palette
    • Tilemap 오브젝트에 배치할 Tile Asset들을 등록해두는 저장소
    • 팔레트에 있는 Tile Asset을 여러 속성에 따라 배치하거나 삭제 가능
  • Tile Asset
    • 맵에 배치할 수 있는 하나의 타일
  • Grid 오브젝트
    • 자식으로 배치되는 Tilemap 오브젝트들을 관리하는 역할
    • Cell Layout, Cell Swizzle 정보를 이용해 배치되는 맵의 방식을 Rectangle, Hexagon, Isometric Z As Y등으로 설정 가능.
  • Tilemap 오브젝트
    • Tile Asset을 배치하는 공간으로 실제 게임에 보여지는 타일 형태의 게임 월드
    • Grid 오브젝트의 자식으로 여러 개의 Tilemap 오브젝트 등록 가능.

 

Tile Palette

- 새로운 팔레트 생성 (CreateNewPalette)이 가능함.

 

Tile Asset

  • Sprite : 현재 Tile Asset이 보여지는 이미지
  • Color : 이미지의 색상
  • Collider Type : 충돌 속성 (None, Sprite, Grid)

- Tile Asset을 Tile Palette에 설정.

 

Tilemap 오브젝트

- Tilemap을 추가하여 map 오브젝트 배치.

 

Grid 게임 오브젝트

- 현재 자식으로 있는 Tilemap 게임 오브젝트들을 관리

 

Grid 컴포넌트

- Cell Size : Grid 내에 각 셀의 크기

- Cell Gap : Grid 내의 각 셀 사이의 간격

- Cell Layout : 셀의 나열 방식

- Cell Swizzle : 축의 나열 변경

 

- 셀 사이즈, 레이아웃, Swizzle 정보를 이용하여 tilemap의 생김새를 바꿀 수 있음.

 

Tilemap 컴포넌트

- 현재 Tilemap 오브젝트에 대한 기본 설정

  • 생성 : GameObject > 2D Object > Tilemap
  • Grid 컴포넌트 변수 옵션
    • Cell Size : (1, 1, 0)
    • Cell Layout : Rectangle
    • Cell Swizzle : XYZ

- 그리드를 선택한 상태로 tilemap 생성하게 되면 그리드 정보가 바뀌기 때문에 tilemap을 선택하지 않은 상태로 생성해줘야 함.

 

Tilemap 컴포넌트 종류

1. Hexgonal Flat Top Tilemap

  • 육각형 형태
  • 생성 : GameObject > 2D Object > Hexgonal Flat Top Tilemap
  • Grid 컴포넌트 변수 옵션
    • Cell Size : (1, 1, 0)
    • Cell Layout : Hexgonal
    • Cell Swizzle : YXZ
  • Swizzle YXZ로 가로축이 더 좁음

2. Isometric Tilemap 게임오브젝트

  • 마름모 형태
  • 생성 : GameObject > 2D Object > Isometric Tilemap
  • Grid 컴포넌트 변수 옵션
    • Cell Size : (1, 0.5, 1)
    • Cell Layout : Isometric
    • Cell Swizzle : XYZ

3. Isometric Z As Y Tilemap 게임오브젝트

  • Isometric과 보여지는 것은 같으나 높이 설정에 좀 더 유용
  • 생성 : GameObject > 2D Object > Isometric Z As Y Tilemap
  • Grid 컴포넌트 변수 옵션
    • Cell Size : (1, 0.5, 1)
    • Cell Layout : Isometric Z As Y
    • Cell Swizzle : XYZ

Tilemap Renderer 컴포넌트

- 현재 Tilemap 오브젝트가 화면에 그려지는 방법에 대해 설정 (정렬 기준, 정렬 순서 등)

 

Tilemap에 Tile Asset 배치

  • Select an area of grid (단축키 : S) : Tile Palette나 Tilemap 오브젝트에 있는 타일 선택
  • Move selection with active brush (단축키 : M) : Tile Palette나 Tilema 오브젝트에 있는 선택된 타일로 이동
  • Paint with active brush (단축키: B) : Tile Palette에서 선택한 타일을 Tilemap 오브젝트에 배치
  • Paint a filled box with active brush (단축키: U) : Tile Palette에서 선택한 타일을 Tilemap 오브젝트에 사각형 범위로 배치
  •  Pick or marquee select new brush (단축키 : I) : Tile Palette나 Tilemap 오브젝트에 있는 타일을 복제해서 선택
  • Erase with active brush (단축키 : D) : Tile Palette나 Tilemap 오브젝트에 있는 타일을 삭제
  • Flood fill with active brush (단축키 : G) : Tile Palette나 Tilemap 오브젝트에 배치하여 빈공간에 사용하면 빈공간을 채우기 / 기존에 배치되어 있는 타일이면 동일한 타일만큼을 모두 교체

 

Tilemap 충돌 처리

- Tile에 오브젝트 단위로 충돌처리 설정을 할 수 있음.

- 하나의 grid 오브젝트가 여러개의 tilemap 오브젝트 관리.

 

Tilemap Collider 2D 컴포넌트

- Tilemap 오브젝트의 충돌 처리에 담당하는 컴포넌트

- Collider 2D까지 추가하면 충돌하는 범위 초록색 실선까지 보임

- 쓸모없는 부분까지 충돌 범위에 해당됨.

- Collider Type을 Sprite 할 시에는 오브젝트 모양대로 충돌 / Grid로 설정할 시에는 grid 사각형이 충돌 범위

- 해당 설정을 하게 되면 붙어 있는 타일들이 하나의 충돌범위로 설정되는 것을 확인할 수 있음.