Создание 2D платформера в Unity. Tilemap (тайловая карта)

В данном уроке по Unity создадим в нашем проекте тайловый уровень (tilemap). Но давайте сначала разберёмся, что же это за зверь такой — тайловая 2D карта,

Tilemap — уровень игры состоящий из небольших плиток (тайлов) представляющих собой сетку. Сетка называется tileset, которая состоит из спрайтов. Как правило, один спрайт = тайл, являющийся частью листа спрайтов (spritesheet). В классическом исполнении тайлы имею форму квадрата, но есть исключения. Пример spritesheet:

пример тайловой страницы

Немного разобрались с понятиями, приступим.

Создание Tilemap в Unity

Запускаем созданный проект из прошлого урока и переходим в меню «Window» > «2D» > «Tile Palette». В открывшемся окне нажимаем «Create New Palette» и задаём имя «Platforms». После чего Unity попросит выбрать папку, где сохранить карту. Давайте создадим новую и назовём её «Tilemap».

unity создать tilemap

Переходим в окно «Project» и правым кликом мышью (далее ПКМ) в открывшемся меню переходим в подменю «Create» и выбираем «Folder». То есть создадим новую папку, присвоим ей имя «Platforms». Общий итог должен получится такой.

unity менеджер проекта

Открываем в проводнике скачанный архив графики из прошлой статьи и в нём находим папку «PNG» > «Tiles». Из которой в папку «Platforms» нашего проекта, перенесём спрайты с названиями «platformPack_tile001», «platformPack_tile004» и «platformPack_tile007».

unity тайлы

Закрываем проводник, пока он нам не нужен. Теперь давайте заполним tilesheets. Из папки «Platforms» нашего проекта, перенесём спрайты в окно «Tile Palette». Зажимаем левую кнопку мыши (далее ЛКМ) на спрайте в «Platforms» и перетаскиваем в нужное нам окно.

unity создание 2D тайлов

Осталось совсем не много. Добавим объект «Tilemap» в проект. Делаем ПКМ в окне «Hierarchy» и выбираем там выбираем «2D object» > «Tilemap».

unity добавить tilemap

Данное действие создало объект «Grid» (сетка) внутри которого и находится tilemap. Теперь можем выбрать в окне «Tile Palette» нужный нам тайл и в окне «Scene» разместить.

unity редактировать 2D уровень

Переходим в окно «Game» где предварительно можем увидеть результат наших стараний.

unity предварительный просмотр

Кстати, изначально предварительный просмотр настроен под телефон. Всё в том же окне, где надпись «Android_480_640» (предварительные настройки разрешений) давайте поставит «16:9», что приведёт к такому результату

unity настройка предварительного просмотра

После чего, нам нужно сделать чтобы наша плитка взаимодействовала с физикой (т.е. была твёрдой. чтобы потом игрок не провалился).

Возвращаемся в окно «Scene» и в окне «Hierarchy» раскрываем объект «Grid» и выбираем дочерний «Tilemap». В «Inspector» нажимаем на кнопку «Add Component» и в поле поиска вводим «Tilemap Collider 2D».

unity 2D collider

P.S.

Если у вас тайлы при рисовании на уровне находятся внутри ячеек сетки (то есть не растянуты на квадрат), в окне «Project» и папки «Platforms» у каждого спрайта исправьте значение «Pixel Per Unit» на размер картинки (в данном случае он 64х64).

unity изменить размер 2D тайла

Вот и закончен урок по созданию тайловой карты в Unity. Не забудьте сохранить проект, чтобы потом продолжить=)

Пишите комментарии.
Подписывайтесь

Спасибо за внимание! Всем добра=)