Статья удалена
Данный гайд создаю для себя. Если кому-то, вдруг, будет полезен, буду рад.
К сожалению, с возрастом и попыткой выучить параллельно два языка, память начинает проседать. Теперь все конспектирую =)
Создаём 2D проект.
Добавляем все необходимые нам инструменты в рабочую область Unity.
Имортируем ассеты через Asset Store
Находим сборник Free Platform Game Assets, нажимаем кнопочку импорт, и ждём. Когда спросит, что импортировать - выбираем все.
Рисуем уровень при помощи tilemap
Для начала создадим новую палитру.
При создании палитры, Unity спросит, куда её сохранить. Создаём папочку Palettes, сохраняем в неё.
Затем лезем в папку Assets/BayatGames/Free Platform Game Assets/Tiles/2D Tiles ( Update 1.9 )/Spring/256x256.
Нажимаем левой кнопкой на самый первый тайл, зажимем шифт, и нажимаем на последний. Все выделенные тайлы перетаскиваем в нашу палитру.
Место сохранения получишихся файлов, я выбрал папку Assets/Palettes/tilemaps
Для того, чтобы начать рисовать, нам нужно добавить Tilemap в игру через окошко иерархии.
Переименовываем Tilemap в Foreground Ctrl + C, Ctrl + V на него, переименовываем копию в Background.
В окне иерархии получаем следующее:
Проблема в том, что наши сетки для рисования находятся на одном слое. Для того, чтобы их разделить, тыкаем на Background.
В окошке справа находим Additional Settings => Sorting Layer => Add Sorting Layer.
Создаём слой "Background", и делаем его первым. Чем выше слой в списке, тем он "глубже". Платформы и игрок будут находиться на уровне "Default", те будут отрисовываться выше более глубокого "Background".
Снова тыкаем на Background в иерархии, выбираем ему Sorting Layer => Background.
Снова откроем нашу палитру (или создаем новую, если хотим), и кидаем в нее рисунок Assets/BayatGames/Free Platform Game Assets/Backgrounds/Background/png/1920x1080/All/Sky.png
Должно получиться примерно так (я не знаю почему, но вид окна иногда различается):
Теперь начинаем "рисовать" наш уровень.
В палитре выбираем Active Tilemap => Foreground, выбираем понравившийся тайл, и рисуем им в нашей сетке.
Как оказалось, тайлы оказались чуть больше клеток.
Снова лезем в Assets/BayatGames/Free Platform Game Assets/Tiles/2D Tiles ( Update 1.9 )/Spring/256x256, где выделяем все файлы, и ставим спрайтам значение в 128 пикселей на юнит.
Теперь все отлично. Продолжаем рисовать.
Добавим бэкграунд.
В палитре выбираем Active Tilemap => Background, тыкаем вставленный фон, и добавляем его, перетаскиванием, в сцену.
Как вы понимаете, здесь можно сильно заморочиться: добавить несколько слоёв фона. В ассетах есть деревья, горы, облака и тд.
Не будем на этом останавливаться. Двигаемся дальше.
Добавляем игрока
Находим файл Assets/BayatGames/Free Platform Game Assets/Character/Character Animation ( Update 1.8 )/Idle/1x.png
Нажимаем на файл, затем в окне справа выбираем Sprite Mode => Multiple, и жмём apply.
Тыкаем Sprite Editor. В открывшемся окне тыкаем slice=>slice=>Apply.
Таким образом мы нарежем наш спрайт на кусочки, которые затем можно будут использовать для анимации.
Сохраняем измения и закрываем Sprite Editor.
Теперь мы можем ткнуть на стрелочку на нашем файле, и перетащить нужный нам спрайт в игру.
Переименовываем появившийся в иерархии объект в Player.
Камеру подвинем так, чтобы она была на нашем персонаже.
Если мы нажмём на кнопку play, ничего не произойдёт... Добавим в игру немного физики.
Снова тыкаем на Player в иерархии, затем Add Component в инспекторе справа. Добавляем Rigidbody 2d, Box collider 2D.
Если вы нажали play, а персонаж провалился сквозь платформу - поздравляю, вы прекрасны.
Чтобы добавить нашим платформам физики, тыкаем на Foreground в иерархии. Затем, в инспекторе, Add Component => Tilemap Collider 2D.
Теперь, при нажатии play, ваш персонаж должен упасть, и остаться стоять на платформе.