타일맵에는 스프라이트 이미지나 2d 오브젝트를 사용해야하는데 3D 오브젝트도 적용하고 싶었다.

인터넷에 찾아보니 타일맵 팔레트에

image.png

game object brush 를 선택하고 이미지상 Pixel로 표기된 부분에 오브젝트를 넣으면 된다더라. 그래서 Pixel 이라는 3D 오브젝트를 만들고 각각 colider 설정도 해준 뒤 프리펩으로 만들고 위와 같이 적용했다.

그래서 그대로 해보니 잘 됐다.

Grid오브젝트 하위에있는 타일맵 하위에 오브젝트가 주루룩 생성되긴 했지만 어쨌든 Ray 탐지도 잘 되고 탐지된 위치의 좌표도 잘 반환됐다.

근데 문제가 생겼다. 내가 고른 해당 좌표를 기준으로 다른 좌표에 있는 오브젝트를 가져오려하니 null이란다

예를 든다면 (2,3)에 존재하는 오브젝트를 클릭하면 스크립트단에서 (2,3)의 오른쪽, 즉 (3,3) 좌표에 있는 오브젝트를 가져오려하니 null 이 반환되었다.

그래선 안됐다. (3,3)에는 오브젝트가 건실하게 자리하고 있었기때문에…

뭔가 이상해서 타일맵.getUsedTileCount() 로 조회해보니 0이다.

몇시간동안 원인을 몰라 방황하다가 하나 걸리는 점이 있었다.

타일팔레트 상에 타일이 없었다.

나는 오브젝트 브러쉬로 오브젝트만 생성했던 것이다. 따라서 타일은 없는데 오브젝트만 만들었던것.

다시 반대로 오브젝트 브러쉬에서 타일을 그리는 브러쉬로 바꾸고 흰색 사각형의 타일을 그리고 카운트를 했더니 1이 반환된다 ㅋㅋㅋㅋㅋㅋ