티스토리 뷰
목차
1. 타일맵이란?
2. 사용 방법
3. SwapTile
4. SetTile(s)
5. 응용
1. 타일맵이란?
타일맵이란 씬에 그림을 그리기 위한 일종의 도화지이다. 팔레트를 이용해 배경, 장애물, 오브젝트 등을 맵에 그려 활용할 수 있다.
2. 사용 방법
타일맵을 씬에 배치하려면 우선 타일맵을 그리기 위한 타일 팔레트가 필요하다. 이 글에서는 스크립트 활용법을 주로 다루기 때문에 타일 팔레트를 만드는 방법은 생략하도록 하겠다.
타일 팔레트를 만들었다면 씬에 타일맵을 추가한다. 필자는 정사각형 타일맵을 사용하였다.
그 다음 Window 탭에서 타일 팔레트를 클릭해 오픈하면 팔레트가 팝업된다.
상단의 도구들을 활용해 씬에 그림을 그리면 된다. 자주 사용하는 도구만 간단히 설명하자면
붓 : 팔레트에서 타일을 선택한 뒤 씬을 클릭하면 삽입 가능, 드래그를 통해 여러 타일을 선택하여 한꺼번에 삽입할 수 있음.
지우개 : 선택한 타일 제거
페인트병 : 클릭한 타일과 인접한 동일한 타일을 전부 변경
3. SwapTile
SwapTile은 SwapTile(tilebaseA, tilebaseB)의 형태로 사용되며, a타일을 전부 b타일로 변경해 준다. 동일한 타일을 한꺼번에 변경하고자 할 때 사용할 수 있다.
설명을 위한 hiddenroad라는 오브젝트를 생성하였다. 화면을 보면 땅속에 빈 공간이 상당히 많은 것을 알 수 있다.
오브젝트에 다른 오브젝트가 접촉할 시 b타일을 a타일로 교체하도록 설정하였다. b타일은 땅속에 비어 있는 공간이고, a타일은 벽 타일이다.
플레이어가 접촉하니 해당하는 타일이 전부 변경되는 것을 확인할 수 있다.
4. SetTile(s)
SetTile(Vector3Int, tilebase)의 형태로 사용되며, 타일맵의 해당 좌표의 타일을 변경해 준다. 특정 타일을 선택해 변경할 수 있다. SetTile은 단수형과 복수형이 존재한다. 복수형의 경우 벡터값과 타일값이 배열 형태로 주어지고, 여러 종류의 타일을 한꺼번에 변경할 수 있다는 점이 SwapTile과 다르다.
원하는 좌표와 타일을 설정한다. g는 바닥 타일이다.
해당 좌표의 타일이 바닥 타일로 변경된 것을 확인할 수 있다.
5. 응용
마지막으로 SetTiles의 응용 방법을 보도록 하겠다. 필자가 이 기믹을 구현한 방법을 설명하기 위해 이 글을 썼다고 봐도 무방하다.
플랫포머 게임에서 흔히 등장하는 숨겨진 길 기믹을 구현해 보겠다. 플레이어가 벽에 접촉할 시 지형을 바꾸어 숨겨진 공간에 진입할 수 있다. 코드에서 vector과 t1,t2는 좌표와 타일의 배열이다.
숨겨진 길 기믹을 타일맵을 활용해 구현한 모습이다.
'프로그래밍 문제풀이 > 프로그래밍 공부' 카테고리의 다른 글
스크립트로 빙판길 구현하기 (0) | 2023.05.30 |
---|---|
PlayerPrefs를 활용한 코드 최적화 (0) | 2023.05.19 |
Inspector를 사용한 스크립트 간소화 (0) | 2023.04.26 |
PlayerPrefs (0) | 2023.04.21 |
DontDestroy (0) | 2023.03.26 |