Unity2D_Basic #12

haechi·2021년 8월 22일
0

unity

목록 보기
33/39

210822
Unity2D_Basic #12


  • Tilemap
    게임을 제작할 때 타일 형태의 리소스를 배치해 게임 월드를 표현하는 방법

-Tilemap의 구성요소
Tile palette / Tile Asset / Grid오브젝트와 Tilemap오브젝트 / Tilemap GameObject

-Tile palette
Tilemap 오브젝트에 배치할 Tile Asset들을 등록해두는 저장소
팔레트의 Tile Asset을 여러 속성에 따라 배치하거나 삭제 가능

-Tile Asset
배치할 수 있는 하나의 타일(Sprite, Color, Collider Type같은 속성을 설정 가능)

-Grid 오브젝트
자식으로 배치되는 Tilemap 오브젝트들을 관리
Cell Layout, Cell Swizzle 정보를 이용하여 배치되는 맵의 방식을 Rectangle, Hexagon, Isometric, Isometric Z As Y 등으로 설정할 수 있다.

-Tilemap 오브젝트
Tile Asset을 배치하는 공간, 실제 게임에 보여지는 타일 형태의 게임 월드
Grid 오브젝트의 자식, 여러 개의 Tilemap 오브젝트 등록 가능
(Layer를 구분)

Unity -> Window -> 2D -> Tile Palette

Create New Palette
-Name : 팔레트 이름
-Grid : 타일 배치 방식
-Cell Size : 셀의 크기

Create를 하면 이처럼 생성한 타일 팔레트가 생긴다.

팔레트의 edit 클릭 후 tile asset들을 드래그 드롭으로 등록한다.

배치를 위해서 Tilemap 오브젝트를 생성

Grid오브젝트와 child로 Tilemap이 있는 것을 확인할 수 있다.


-Grid 게임 오브젝트
현재 자식으로 있는 Tilemap 게임 오브젝트 관리
(여러개 Tilemap 가능)

-Grid 컴포넌트
Cell Size : Grid 내 각 셀 크기
Cell Gap : Grid 내 각 셀 사이 간격
Cell Layout : 셀 나열 방식
Cell Swizzle : 축 나열 변경
Swizzle이 xyz일 때 (0,1,1)이라면, Swizzle을 yxz로 바꾸면 (1,0,1)이 된다.


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

-Tilemape Renderer 컴포넌트
현재 Tilemap 오브젝트가 화면에 그려지는 방법에 대해 설정

-Tile Pallet의 기능

1.Select an area of grid
타일 선택

2.Move selection with active brush
선택된 타일을 이동(edit 버튼을 누른 상태에서 가능)

3.Paint with active brush
선택한 타일을 Tilemap 오브젝트에 배치(드래그시 지나간 자리 모두 배치)

4.Paint a filled box with active brush
선택한 타일을 Tilemap 오브젝트에 배치(마우스 클릭 위치부터 뗀 위치까지 사각형 범위)

5.Pick or marquee select new brush
타일을 복제해서 선택

6.Erase with active brush
타일 삭제
7.Flood fill with active brush
선택한 타일을 Tilemap오브젝트에 배치
(빈 공간에 사용하면 빈 공간을 채우고 이미 타일이 존재하는 곳에 사용하면 연결되어있는 동일한 타일들을 모두 교체)

  • Tilemap 충돌 처리
    선택된 Tilemap 전체로 충돌체 처리가 가능
    Add Component로 Tilemap collider 2D 추가

Collider type이 grid 인 경우 grid모양대로 충돌체가 설정된다. 위 상태는 Collider type이 sprite이다.

충돌체의 범위를 최적화 하기 위해서 composite collider 추가

Tilemap Collider 2D에서 Used By Composite 체크
Rigidbody 2D에서 Body Type을 Static

이처럼 붙어있는 타일들의 충돌범위가 하나로 된 것을 볼 수 있다.

충돌 테스트시 박스 위 풀 tile의 경우도 충돌체가 설정이 되기 때문에 다른 tilemap으로 설정 후 collider에서 is trigger 체크

profile
공부중인 것들 기록

0개의 댓글