본문 바로가기
[ Unity ]/- 유니티 실습

유니티 TileMap

by MRG 2024. 7. 25.
728x90
반응형

https://arks.itch.io/dino-characters

 

Dino Character Sprites by Arks💢

4 Colorful and simple Dino Characters

arks.itch.io

 

 

 

https://bagong-games.itch.io/cozy-island-tileset

 

Hana Caraka - Cozy Island Topdown Tileset by Bagong Games

Complete 16x16 tileset for your top down games

bagong-games.itch.io

 

 

https://docs.unity3d.com/kr/2023.2/Manual/class-Tilemap.html

 

Tilemap 컴포넌트 레퍼런스 - Unity 매뉴얼

Tilemap 컴포넌트는 2D 레벨 생성을 위해 Tile Assets를 저장 및 관리합니다.배치된 타일에 있는 필요한 정보를 Tilemap Renderer 및 Tilemap Collider 2D와 같은 다른 관련 컴포넌트로 전송합니다.

docs.unity3d.com

 

 

 

▣ 먼저 TileMap 이미지를 가져와서 Sprite Mode와 Filter Mode를 세팅합니다. 

그리고 Sprite Editor로 들어가서

 

 

▣ Slice로 타일을 어떻게 자를지를 지정하고 Pixel Size를 지정합니다. 

 

 

▣ 그리고 이미지에 Inspector에서 Pixels Per Unit를 아까 Slice 한 Pixel Size랑 똑같이 값을 지정합니다. 

이렇게 해야 TileMap을 만들어서 타일을 배치할 때 크기가 맞게 됩니다. 

 

 

▣ 타일을 클릭해서  Pivot을 설정하거나 원모양을 이동하여 조절하여 해당 이미지 Pivot 중심을 변경할 수 있습니다.

 

 

▣ 이제 타일맵을 표현할 팔레트를 만들어보겠습니다. 

Windows -> 2D -> Tile Palette를 클릭합니다. 

 

▣ 그리고 해당 이미지를 팔레트에 넣고 저장합니다. 

 

 

 

▣ 그리고 2D Object에서 TileMap을 생성합니다. 

모양은 Rectangular로 선택합니다. 

그리고 Pixels Per Unit를 다시 한번 확인하고 타일팔레트에서 브러시를 선택해서 타일맵에 그립니다. 

 

 

▣ 스포일러를 눌러서 타일을 한꺼번에 선택해서 그릴 수도 있습니다. 

 

 

▣ 이번에는 한 개의 스프라이트로 자동으로 타일이 그려지는 타일맵을 만들어보겠습니다. 

2D에서 Rule Tile을 선택해서 생성합니다. 

 

 

▣ Defualt Sprite에 기본으로 만들어질 스프라이트 이미지를 넣습니다. 

 

 

▣ 그리고 아까 만든 Rule Tile을 타일맵팔레트에 드래그해서 추가합니다.

 

 

▣ 그리고 해당 스프라이트를 해당 팔레트에 있는 브러시 옆에 있는 아이콘을 클릭한 상태에서 드래그해서 타일맵에 그려줍니다. 

 

 

▣ 자동으로 타일을 생성할 스프라이트 이미지를 아까 생성한 Rule Tile에 넣습니다. 

 

 

▣  그리고 각각 Tileing Rules메뉴에서 설정을 바꿔 녹색화살표와 빨간색 엑스표시를 지정합니다. 
해당 작업은 선택된 타일 주변에 타일이 있을 수 있는지 없는지에 대한 여부입니다.
녹색 화살표는 해당 위치에 다른 타일이 있을 수 있음 연결될 타일이 있을 때 체크합니다.
빨간색 엑스표시는 해당 위치에 타일이 있을 수 없을 때 체크합니다. 
빈 영역은 기본 스프라이트나 다른 스프라이트로 채워집니다.
그럼 해당 위치에 맞게 자동으로 타일이 생성됩니다.

 

 

▣ 이렇게 타일을 많이 넣게 되면 중간중간 사이가 틈이 생긴 걸 확인할 수 있습니다.

이럴 때 2D에서 Sprite Atlas를 생성하고 

 

 

▣ 해당 타일맵 스프라이트 이미지를 넣고 Pack Preview를 클릭하면 해결됩니다. 

 

 

 

▣ 타일맵에 콜리전을 넣어보겠습니다.

타일맵을 하나 생성하고 타일을 그려줍니다. 

 

 

▣ 해당 TimeMap에 Timemap Collder 2D와 Rigidbody2 D 컴포넌트를 추가하고 Body Type과 콜리전에 Composite를 체크합니다. 

플레이를 하면 플레이어와 충돌이 되는 걸 확인할 수 있습니다. 

 

 

▣  콜리전에 Physics Shape를 수정하고 싶으면 
해당 스프라이트 에디터로 가서 Custom Physics Shape로 변경하고 Generate을 눌러서 위치를 변경한 다음에 Apply를 눌러서 적용 후 TileMap Collider 2D를 다시 추가하면 변경되는 걸 확인할 수 있습니다. 

728x90
반응형

'[ Unity ] > - 유니티 실습' 카테고리의 다른 글

유니티 예외 처리  (0) 2024.08.08
유니티 메소드  (0) 2024.08.08
유니티 마우스 위치로 총알 발사  (0) 2024.07.11
유니티 애니메이션 스프라이트  (0) 2024.07.10
유니티 night skybox  (0) 2024.01.21

댓글