유니티 최고/Unity Game Making

[탑다운] 룰타일, 애니메이션 타일, 외부 경계 설정, 픽셀 퍼펙트

군포망나니 2022. 1. 18. 23:16

이 글은 골드메탈 강좌를 듣고 작성하였습니다. 

 

일단 탑다운이 2번째 시도이고, 룰타일 때문에 오류가 계속 나서 유니티 재설치를 했습니다. 

불안해서 룰타일은 넘어가고 (물론 애니메이션 타일) 나머지를 집중적으로 배우려고 합니다. 

 

일단 룰타일은 타일맵에 이어서 더 편리하게 만들어 주는 기능을 갖고 있습니다.  규칙을 설정하여 한 번에 모양을 잡아낼 수 있습니다. 이는 유니티 내에서 따로 extra 를 임포트해야합니다. 

또한 애니메이션 타일은 원래는 sprite 를 hierarchy 에 넣어 애니메이션을 설정했다면, 이를 할 필요없이 output에서 Animation 을 택하여 Speed 조절과 Size 조절로 여러 이미지를 넣어 동작할 수 있습니다.  

 

//타일맵 주의사항 

만약 타일맵 바탕을 그린 후 그 위에 sprite를 덮어쓰면 여백이 생길 수가 있습니다. 

이를 방지하기 위해선 타일맵 여러 개를 만들어 각각에 sprite 를 넣어서 순서를 바꿔주기만 하면 됩니다. 

 

* 외부 경계 설정 * 

플레이어의 이동을 제한하기 위한 경계선을 만드는 것으로 이도 역시 타일맵을 사용하여야 합니다. 

타일을 아무거나 선택하여 플레이어의 바깥 영역에 설치한다. [+또한 집, 나무 등 플레이어가 관통할 수 없는 부분 모두 설정]

그 후 Tilemap Renderer -> Mask Interaction 에서 Visible Inside Mask 를 체크한다.  

//주의 : 위임하면 경계선이 없어질 수 있으니 Composite Collider 2D 에서 그냥 아무거나 눌렀다가 원상태로 돌리면 된다. 

//중요 Tip : 타일맵 콜라이더는 복합 콜라이더와 사용하면 좋다. 

// Rigidbody 2D , Tilemap Collider 2D , Composite Collider 2D 

* 설정 * 

Rigidbody 2D -> Body Type 을 Static으로 설정

Tilemap Collider 2D -> Used By Composite 체크 (모양 위임)

 

 

Q . 플레이어가 회전한다? 

A. Rigidbody 2d 에 있는 Constraints 에 있는 Freeze rotation 에 z 축을 체크한다. 

 

Q. 플레이어가 경계선 때문에 지나갈 수 없다. 

A. 플레이어의 충돌 영역 문제. Collider 에 있는 Edit Collider 를 클릭하여 영역을 조절하면 해결된다. 

 

Q. 플레이어가 내려간다. 

A. 중력 체크 해제 

 

* 픽셀 퍼펙트 * 

게임화면에서 픽셀을 가로지르는 검은 색 선의 문제를 해결해준다. (카메라 충돌 문제)

main camera 에 Pixel Perfect Camera  컴포넌트 요소를 추가한다. 

//Pixel Per Unit 과 해상도를 잘 맞추는 것이 핵심이다. 

근데 Pixel Per Unit 을 16으로 맞춰도 검은 선이 남아 있다. 

Upscale Renderer Texture 를 체크하니까 해결이 되었다. 

 

-끝-