2023. 7. 30. 08:21ㆍC# & Unity 공부
이번 시간은 지형 만들기를 할 것이다.
우리는 여태까지 손을 써서 일일이 집어서 옮겼다.
우리는 타일맵 시스템을 사용할 것이다.
타일 팔레트
우선 여태까지 만들었던 지형을 싹 다 지우고,
플레이어를 제외한 모든 오브젝트들은 잠깐 꺼두자.
그리고 TileMap 폴더를 하나 만들어 주자.
다음에 가장 먼저 만들어야 할 것은 타일 팔레트이다.
Window > 2D > Tile Pallete를 가서 클릭해 주자.
그럼 아래와 같은 창이 나오게 된다.
Create Platform을 누른 후 이름을 Platform Palette로 바꾼다.
그리고 Create를 누르면
다음과 같이 TileMap파일에 생성된다.
그리고 지형과 관련된 Sprite들을 Tile Palette창에 올려둔다.
그럼 아래와 같이 바뀐다.
우리가 그림을 그릴 때, 물감을 팔레트에다가 짜놓고 그리는 거랑 똑같다.
우선 보기 편하게 Edit을 누르고 본인이 원하는 대로 배치를 바꿔보자.
팔레트 준비는 끝났다.
타일 맵
이제 팔레트와 물감이 준비되었으니, 도화지에 그림을 그릴 차례이다.
2D Object > Tilemap > Rectangular을 통하여 TileMap을 만들어주자
TileMap : 타일을 일정하게 깔아두는 컴포넌트
그럼 다음과 같이 Grid와 밑에 Tilemap이 생기고, Scene에 흰 격자무늬가 생긴다.
Tile Palette의 3번째 버튼을 누르고, 타일을 선택한 뒤에
Scene 장면에다가 누르면 위 사진처럼 타일이 그려진다.
하지만 다 그리고 실행하면 Collider의 영향을 받지 않는다.
물리 설정
Collider를 한 번 넣어보자.
우선 Tilemap을 선택한 후, Add Component를 한 뒤에 Tilemap Collider 2D를 선택해보자.
그리고 또한, 저번 시간에 만들었던 지형은 Layer을 넣어주었었기 때문에, 이번에도 넣어주어야 한다.
마지막으로, 카메라를 움직이게 하기 위해선 원래 스크립트를 따라 짜줬었으나,
Player오브젝트 아래에다가 Main Carmera를 넣고 실행하면 카메라가 플레이어를 잘 따라갈 것이다.
(카메라는 좌표 조작을 통해 맞춰주면 됨)
그리고 다음 부분을 위하여 경사로 또한 하나 만들어보자.
물리 모양 설정
오르막길에서 원래 잘 올라가는 것이 우리가 바라는 모양이다.
하지만 실행하고 오르막길에서 오른쪽 키 버튼을 눌러도 움직이지 않는다.
두 가지 오류가 있을 수 있다.
1. 지형의 Collider 모형을 보면 우리가 보는 픽셀과 조금 다를 수 있다.
이런 경우 Sprites를 눌러서 그림 파일을 누른 후 Sprite Editor을 들어간 뒤,
Custom Physics Shape를 누르고 Generate를 한 뒤에 모양을 잘 맞춰주고 Apply를 누르면 된다.
그리고 해당 Sprite 파일만 지웠다가 다시 넣어주면 된다.
2. Physics Material 2D가 빠졌을 수도 있다.
우리가 저번에 땅을 구현했을 때에는 마찰력을 0으로 하여서 넣어줬었다.
그걸 그대로 Grid > TileMap에 넣으면 된다.
'C# & Unity 공부' 카테고리의 다른 글
Unity 2D - 7. 플레이어 피격 이벤트 구현하기 (0) | 2023.07.31 |
---|---|
Unity 2D - 6. 몬스터 Ai 구현하기 (0) | 2023.07.31 |
Unity 2D - 4. 플레이어 점프 구현하기 (0) | 2023.07.28 |
Unity 2D - 3. 플레이어 이동 구현하기 (0) | 2023.07.21 |
Unity 2D - 2. 아틀라스와 애니메이션 (0) | 2023.07.20 |