기록 보관소

[Unity/유니티] 기초-2D 플랫포머: 타일맵으로 플랫폼 만들기[B17] 본문

유니티 프로젝트/2D 플랫포머

[Unity/유니티] 기초-2D 플랫포머: 타일맵으로 플랫폼 만들기[B17]

JongHoon 2022. 2. 13. 22:27

개요

유니티 입문과 독학을 위해서 아래 링크의 골드메탈님의 영상들을 보며 진행 상황 사진 또는 캡처를 올리고 배웠던 점을 요약해서 적는다.

현재는 영상들을 보고 따라하고 배우는 것에 집중할 것이며, 영상을 모두 보고 따라한 후에는 개인 프로젝트를 설계하고 직접 만드는 것이 목표다.

https://youtube.com/playlist?list=PLO-mt5Iu5TeYI4dbYwWP8JqZMC9iuUIW2 

 

유니티 강좌 기초 채널 Basic

유니티 개발을 처음 시작하시는 입문자 분들을 위한 기초 채널. [ 프로젝트 ] B00 ~ B12 (BE1) : 유니티 필수 기초 B13 ~ B19 (BE2) : 2D 플랫포머 B20 ~ B26 (BE3) : 2D 탑다운 대화형 RPG B27 ~ B37 (BE4) : 2D 종스크롤

www.youtube.com


2D 플랫포머: 타일맵으로 플랫폼 만들기[B17]

1. 타일 팔레트

바닥을 만들 것이므로 Floor 스프라이트는 모두 지우고, Item과 Enemy, Finish 스프라이트는 숨김 처리
Tile Palette 띄우는 방법
Tile Palette
Platform Palette 생성
생성된 Platform Palette. 타일을 드래그하면 된다
바닥 타일들을 드래그해 저장한 모습
위 도구들과 Edit 버튼을 사용하여 정리했다.

  • Tile Palette : 타일을 사용하기 위해 모아둔 프리펩
  • 팔레트를 정리하는 방법은 꽤나 귀찮았다. 무조건 도구를 사용해서 해야한다. 제일 왼쪽 마우스 커서 모양(단축키 S)를 사용해서 선택 영역을 정하고, 이후 옆의 이동 도구(단축키 M)를 사용해서 옮겨서 정리할 수 있다. 이를 다른 타일마다 계속해서 반복해야한다.

2. 타일 맵

Tilemap 오브젝트 생성
Tilemap을 클릭하니 Grid가 생성되었고, 선택하니 맵의 격자무늬가 선명해졌다.
앞에서 만들어뒀던 Palette를 사용해서 타일 그리기

  • TileMap : 타일을 일정하게 깔아두는 컴포넌트
  • Palette를 사용해서 타일을 그리는 방법은 브러쉬(단축키 B)를 사용하면된다. 참고로 Palette의 Edit을 꺼두어야하며, 선택한 타일을 드래그하면 같은 타일이 연속해서 그려진다. 지울 때는 지우개 모양의 도구(단축키 Shift)를 사용하면 된다. 마찬가지로 드래그해서 여러개를 지울 수 있다.

3. 물리 적용

타일을 그리고 실행해보니 바닥을 통과해서 Player가 떨어졌다

  • 그려진 타일들은 이전의 스프라이트 Floor와는 달리 Collider를 추가하지 않아서 통과한다. 이를 해결하기위해서 Tilemap의 Inspector창에 Tilemap Collider 2D를 추가해야한다.

Tilemap Collider 2D를 추가하니 자동으로 적용된 모습
Layer를 Platform으로 바꿔 애니메이션 문제 해결

  • 이전에 점프 애니메이션을 Platform Layer에 닿으면 변경되도록 설정했으므로, Tilemap에도 동일하게 Layer를 변경한다. 스프라이트와 달리 타일맵은 하나만 바꾸면 모두 적용되어 편리하다.

Main Camera가 Player 따라다니기
실행 화면 1
실행 화면 2

  • Main Camera가 Player를 따라다니게하는 것을 이전 3D 프로젝트에서는 스크립트에서 직접 코딩해서 거리 계산을 하며 따라다니게 했었다. 하지만 이번에는 그냥 간단하게 Main Camera를 드래그해서 Player에 넣고, Main Camera의 위치를 맞추기만 하면 된다.

4. 물리 모양 설정

스프라이트의 물리 모양을 변경하려면 Sprite Editor에서 Custom Physics Shape 선택
지금 보이는 선이 물리 모양. Generate를 눌러 나온 기본 모습.

  • 물리 모양 편집은 편집할 에셋의 스프라이트를 찾아 Sprite Editor를 켜서 왼쪽 상단의 버튼을 눌러 Custom Physics Shape를 선택하면 된다.
  • Generate를 누르면 자동으로 컴퓨터가 물리 모양을 잡아주지만, 세세한 디테일은 직접 해야한다. 위 캡처의 경우 경사로인데, 저런 모양의 물리 모양이라면 Player가 경사로를 매끄럽게 이동할 수 없다.
  • 직접 물리 모양을 편집하려면 선과 점을 사용해서 편집하면 된다. 필요없는 점은 del키를 눌려서 삭제할 수 있고, 점을 만들려면 선에서 마우스로 드래그하면 된다.
  • 편집한 스프라이트가 있는 Palette는 편집 사항이 적용되지 않아서 삭제하고 다시 Palette에 추가해야한다. 그래서 Palette에 편집할 스프라이트가 있다면 Palette에서 삭제한 후에 물리 모양을 편집하는 것이 더 안전하고 확실하다.