TileMap Collision

CJB_ny·2022년 4월 29일
0

2D_Project

목록 보기
4/23
post-thumbnail

이렇게 레이어를 관리하면 이점이 여러가지가 있다!

layer order에 따라 알파 값 가지고있는 애들도 자연스럽게 잘 출력이 된다.

(투명한 부분들)

Collision 추출

Component에

tilemap Collider붙이면 이렇게 뜨는데

정확하게 콜라이더 설정하고싶다면

이 스프라이트를 수정을 해야한다.

여기서 tilemap_Env여기서 설정하고있었는데

콜라이더 타입을

None, Grid로 수정한다거나 하면

Grid하면 전체 영역이 잡혀있지 않고

중간에 한칸만 설정된다.

그래서 tilemap Collider를 사용하기보다

게임안에서 여러 상황이 있을 수 있기에 우리가 레이어를 하나 더 만들어서

직접 찍어주는게 더 좋다!

이런 레이어 하나 더 만들어서 못가게 만들어야된다.

이렇게 레이어 하나 더 만들어서 Collision레이어에 돌맹이 넣으면된다.

그래서

이부분을 다른 하나의 파일로 빼가지고 서버랑 공유를 할 것이다.

이 파일 tilemap_collision에 붙여서

이제 타일이 깔려서 갈 수 있는 부분과 못가는 부분을 구분을 하게 한다음에

그것을 텍스트 파일이든 다른 포맷으로 우리가 추출 할 수만있으면된다.

TestCollision에

public Tilemap _tilempa; 열어줘서 연결 ㄱㄱ

그리고 이렇게 SetTile로 만들어서 유니티 실행하면 동적으로 타일 만들 수도있다.

Vector3Int는 Vector3랑 같은데 원래는 float으로 받는데 그냥 int로 받는다.


그런데 우리가 관심있는 부분은

모든 타일을 다 스캔을 하면서 그곳에 갈 수 있는지를 보는 것이다.

Bounds는 경계선인데 이 경계선을 cellBounds로 얻어 올 수 있다.

이렇게하면 갈 수 있는 모든 영역을 하나씩 다 스캔을 하면서

이딴식으로 breakPoint잡고 실행하면

56개 들어가있다.

이제 이런정보들을 이용해서 타일로 뺴내가지고 이것을 서버한테 어떻게든

건내주기만 하면 된다.

그런데 이렇게 계속 껏다 켯다 할게아니라

툴을 사용해서 해보도록 하자.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글