В данном уроке по Unity создадим в нашем проекте тайловый уровень (tilemap). Но давайте сначала разберёмся, что же это за зверь такой - тайловая 2D карта,
Tilemap - уровень игры состоящий из небольших плиток (тайлов) представляющих собой сетку. Сетка называется tileset, которая состоит из спрайтов. Как правило, один спрайт = тайл, являющийся частью листа спрайтов (spritesheet). В классическом исполнении тайлы имею форму квадрата, но есть исключения. Пример spritesheet:
Немного разобрались с понятиями, приступим.
Создание Tilemap в Unity
Запускаем созданный проект из прошлого урока и переходим в меню "Window" > "2D" > "Tile Palette". В открывшемся окне нажимаем "Create New Palette" и задаём имя "Platforms". После чего Unity попросит выбрать папку, где сохранить карту. Давайте создадим новую и назовём её "Tilemap".
Переходим в окно "Project" и правым кликом мышью (далее ПКМ) в открывшемся меню переходим в подменю "Create" и выбираем "Folder". То есть создадим новую папку, присвоим ей имя "Platforms". Общий итог должен получится такой.
Открываем в проводнике скачанный архив графики из прошлой статьи и в нём находим папку "PNG" > "Tiles". Из которой в папку "Platforms" нашего проекта, перенесём спрайты с названиями "platformPack_tile001", "platformPack_tile004" и "platformPack_tile007".
Закрываем проводник, пока он нам не нужен. Теперь давайте заполним tilesheets. Из папки "Platforms" нашего проекта, перенесём спрайты в окно "Tile Palette". Зажимаем левую кнопку мыши (далее ЛКМ) на спрайте в "Platforms" и перетаскиваем в нужное нам окно.
Осталось совсем не много. Добавим объект "Tilemap" в проект. Делаем ПКМ в окне "Hierarchy" и выбираем там выбираем "2D object" > "Tilemap".
Данное действие создало объект "Grid" (сетка) внутри которого и находится tilemap. Теперь можем выбрать в окне "Tile Palette" нужный нам тайл и в окне "Scene" разместить.
Переходим в окно "Game" где предварительно можем увидеть результат наших стараний.
Кстати, изначально предварительный просмотр настроен под телефон. Всё в том же окне, где надпись "Android_480_640" (предварительные настройки разрешений) давайте поставит "16:9", что приведёт к такому результату
После чего, нам нужно сделать чтобы наша плитка взаимодействовала с физикой (т.е. была твёрдой. чтобы потом игрок не провалился).
Возвращаемся в окно "Scene" и в окне "Hierarchy" раскрываем объект "Grid" и выбираем дочерний "Tilemap". В "Inspector" нажимаем на кнопку "Add Component" и в поле поиска вводим "Tilemap Collider 2D".
P.S.
Если у вас тайлы при рисовании на уровне находятся внутри ячеек сетки (то есть не растянуты на квадрат), в окне "Project" и папки "Platforms" у каждого спрайта исправьте значение "Pixel Per Unit" на размер картинки (в данном случае он 64х64).
Вот и закончен урок по созданию тайловой карты в Unity. Не забудьте сохранить проект, чтобы потом продолжить=)
Ставьте оценки.
Пишите комментарии.
Подписывайтесь
Спасибо за внимание! Всем добра=)