나 개발자 진짜 되냐?

[ Unity 뱀서라이크 게임을 만들어보자 3 ] 뛰어다니는 맵 구현 ( 타일맵 ) 본문

유니티를 공부해봐요!/초급이에요!

[ Unity 뱀서라이크 게임을 만들어보자 3 ] 뛰어다니는 맵 구현 ( 타일맵 )

Snow Rabbit 2024. 10. 8. 16:56

 

핼로우 (●'◡'●)

 

우리가 보이게 될 화면

맵 구현을 위한

타일 맵에 대해 정리해보려고 해요 ㅎㅅㅎ

 

함께 알아봐요!


🌟 Tilemap 🌟

 

유니티의 타일맵 구조를 구성하는 데 사용

grid의 자식으로 위치하며

특정 타일을 배치하고 관리해 준다.

 

Tilemap Renderer를 통해

실제로 그리고

 

Tilemap Collider 2D를 넣어

물리적인 경계를 추가할 때 사용한다.

뭐 벽이라던지.. 문이라던지 등등

 

 

만들어보자

유니티에서 

Create > 2D Object > Tilemap > Rectangular

 

해주면 네모타일이 이렇게 생기고

아까 말했듯 Gird라는 파일 안에 생기게 된다.

 

다음 우리는 이 타일을 예쁘게 만지기 위해

Window > 2D > Tile Palette

 

를 해준다.

 

그러면 타일팔레트 등장!

 

여기에 new palette

해서

이름 Tiles

 폴더는

에셋 밑에

Tilemap 파일 만들고

그 안에 Tiles를 만들어서 거기에 저장한다.

 

그다음

에셋에다가 타일맵 폴더로 가서

그 안에서 다시

Create > 2D Object > Tilemap > Rectangular

이름은 Rectangular

 

해주고

 

우리는 frames에서 

밑바닥 타일들을 찾아주어야 한다.

floor

8개 정도 되는데

shift를 누르고 쭈욱 드래그해서

 

드래그 앤 드롭해주면 된다.

 

그러면 파일 창이 뜨는데

Assets > TileMap 

에다가 Tiles 생성해서 넣어준다.

 

wall도 검색해 줘서

 

여기서 Sprite를 눌러줘서

정말 필요한 이미지만 다 가져와서

드래그해 주면 된다.

 

 

 

 

자라란

만약에 파일을 이상한 걸 넣었다 하면

오른쪽 위에 펜 > shift 누른 상태에서 지울 거 누르면 지워진다!

 

그리고 하나하나 선택할 땐 격자를 눌러주면 된다

 

말 그래도 팔레트

오른쪽에 있는 그림들을 선택해서

왼쪽에 넣어주면 되는 느낌이다.

 

아까 만든 floor부터 만들어보자

 

인스펙터에서 order in layer을 -20으로 해준다

맨 밑에 깔아 두려는 계획 ㅎㅅㅎ

 

자 이제 열심히 깔아보자

 

 

짜잔..

 

아!

 

밑바닥을 제일 먼저 깔고

그 위에 하나씩 벽을 쌓는 방식이 좋다.

 

그래서 우리는 인스펙터에서

오더인 레이어를 계속 조절해 나아가는 것이 중요!

 

 

이제 우리는 벽에 부딪히면 안 되기 때문에

벽에 콜라이더를 깔아 둘 것이다.

 

그리드에서 똑같이 타일을 추가해서

콜리전이라고 만들고

 

이 친구 추가한다!!

타일맵 콜라이더이다.

다른 거 아니여!!

 

만들고 나서 넣을 때에는

맨 위에 콜리젼인 거 확인하고 넣어야 한다!

 

콜리젼의 경우 충돌을 넣는 거라 뭐 모양을 덮어도 문제가 없다

그래도 최대한 같은 모양으로 넣어주자!

 

 

 

이렇게 해주면 콜라이저가 된 애들은 노란색 테두리가 생긴다

이제 여기 부딪힐 수 있게 설정한 것이다.

 

엇! 부딪히게 하려면

나 캐릭터 또한 충돌기능을 넣어주어야 한다.

 

 box collider 넣기!

 

사이즈 조절!!

 

해주면 신나게 움직이는 친구

그리고 벽에서 더 나아가지지 않는 모습 볼 수 있습니다! :)

 

아잇..

타일 넣는 건데

거참 굉장히 어렵다

ㅋㅋㅋㅋㅋㅋㅋ

 

그래도 코딩하는 거보다 재밌다 흐흐 ㅎㅅㅎ