Первым делом вам необходимо перейти на официальный сайт https://unity.com/ru/download и нажать Загрузить.
Далее запустите загруженный файл и установите Unity Hub. Теперь вам нужно зарегистрироваться. После регистрации скачайте проект, с которым мы будем работать в данном мастер-классе по ссылке https://disk.yandex.ru/d/y7O_NmXxcJeZUg.
Затем нажмите на кнопку Open и Add project from disk, после чего выберите расположение только что скачанного проекта. Вам предложат установить необходимую версию Unity. Можно установить только первый компонент (приложение для редактирования кода) или снять все галочки.
Дождитесь окончания установки и запустите проект.
После загрузки проекта интерфейс должен выглядеть примерно так. Давайте рассмотрим, какие окна открыты.
В левом нижнем углу находится окно Hierarchy (Иерархия), где отображаются текущая сцена и все объекты, например: холодильник, кровать, стол. Для выбора объектов используйте именно это окно.
Правая панель объединяет три окна:
В правой части экрана расположены три активных окна:
Если понадобятся дополнительные окна, их можно найти в меню Window в верхней части интерфейса. (Рисунок 2)
Для запуска игры, постановки её на паузу или пошагового выполнения используйте соответствующие кнопки в центре верхней панели. (Рисунок 3)
При нажатии кнопки Play запускается текущая сцена (SampleScene). Персонаж перемещается клавишами WASD и взаимодействует с объектами, нажимая кнопку E при подходе.
В нижней левой части экрана находится дверь, при взаимодействии с которой персонаж перемещается на другую сцену.
Персонаж перемещается по рядам и влево-вправо до границ сцены, но дальнейшая логика отсутствует. Наша задача – исправить это.
Для начала остановите игру (еще раз нажмите Play) и в окне Project откройте папку Scenes, затем дважды кликните по сцене SubwaySurfRunning.
Перейдите в окно Hierarchy, кликните правой кнопкой мыши по свободному месту и выберите Create Empty для создания нового объекта (назовите его "1").
Щелкните правой кнопкой мыши по объекту "1" и выберите Create Empty для создания дочернего объекта, назовите его "2".
Если объекты не выстроились в виде лесенки, удалите объект "2" и повторите попытку.
Выберите объект "2" и откройте окно Inspector.
Объект "2" появляется на сцене без свойств. Добавим изображение с помощью компонента Sprite Renderer. Для этого нажмите кнопку Add Component и выберите данный компонент.
Затем выберите изображение для объекта: в окне Project откройте папку Sprites, затем папку Textures. Найдите второй по счёту объект, имя которого начинается на 150fc0fab.
Раскройте список у нужного объекта, затем снова откройте Inspector для объекта "2" и перетащите выбранное изображение в поле Sprite компонента SpriteRenderer.
Изображение добавлено, однако объект не виден, так как его слой ниже слоя игровой карты. Измените параметр Order in layer в Inspector.
Теперь объект виден, но при запуске игры он не реализует никакого поведения. Добавим код для управления.
Перейдите в окно Project, откройте папку Scripts, затем папку Objects.
Снова выберите объект "2" в Hierarchy, затем в Inspector прокрутите вниз до кнопки Add
Component и перетащите файл SubSurfObj в область компонентов. Теперь в
Inspector должны отображаться компоненты SpriteRenderer и
SubSurfObj.
При запуске сцены объект начинает двигаться, но скоро исчезает, а персонаж не взаимодействует с ним.
Чтобы персонаж мог взаимодействовать с объектом "2", добавьте ему компонент BoxCollider2D.
Запустите сцену – персонаж не проходит через объект, который теперь имеет границы. Для корректной работы в настройках компонента BoxCollider2D установите галочку напротив Is Trigger.
После этого повысим удобство работы – измените тег объекта на punch в верхней части окна Inspector.
Скорректируйте координаты объектов: сначала выберите объект "1" в Hierarchy и установите его координаты в Position равными нулю.
Затем отредактируйте положение второго объекта – его координаты должны быть заданы следующим образом:
При заданных координатах объект появится на верхней полосе дороги. Для создания дополнительных объектов, которые будут появляться на других полосах, достаточно продублировать объект "2" с его компонентами.
Для создания новых объектов перейдите в окно Hierarchy, нажмите правой кнопкой мыши на объекте "2" и выберите пункт Duplicate из появившегося меню. Так продублируйте объект три раза и переименуйте их в "3", "4" и "5" соответственно (для этого используйте функцию Rename).
Теперь поочередно выберите каждый новый объект и измените его координату по оси Y следующим образом: для второй полосы задайте значение 0.5, для третьей – -1.5, а для четвертой – -3.2.
Далее изменим один из объектов так, чтобы персонаж мог собирать его как бонус. Для этого сначала измените его изображение, чтобы оно визуально отличалось от остальных.
Откройте папку Sprites, затем перейдите в папку Objects и нажмите на стрелочку рядом с изображением “+20”.
Перетащите появившееся изображение в поле Sprite компонента Sprite Renderer выбранного объекта, как показано на рисунке ниже.
Если вы выполнили все шаги правильно, один из объектов изменит своё изображение. Теперь измените тег этого объекта на bonus и запустите игру. При успешном выполнении, взаимодействие персонажа с бонусом должно увеличивать шкалу в верхней части игрового поля.
Далее сохраним созданный объект как префаб: откройте окно Project и перейдите в папку Prefabs → New. Зажмите левую кнопку мыши на объекте "1" и перетащите его в эту папку. Если все сделано верно, в папке появится объект "1", а в Hierarchy все объекты подсветятся синим цветом.
Теперь настроим так, чтобы объект появлялся на сцене до тех пор, пока не заполнится шкала. Для этого выберите объект Objects в Hierarchy и откройте его в окне Inspector. Вы увидите настройки, подобные показанным ниже.
Нам нужно настроить скрипт Prefab Spawner. Нажмите на значок плюса и создайте четыре поля, соответствующих количеству полос игрового поля.
Перейдите в папку, где сохранён созданный объект, и перетащите его (зажав левую кнопку мыши) в каждое из четырёх полей. Таким образом вы обеспечите периодическое появление объекта на сцене до изменения игрового состояния. Чтобы бонус появлялся в разных местах, вы можете создать дополнительные объекты с изменёнными координатами или использовать уже готовые объекты из папки Prefabs/old.
Таким образом, вы научились создавать объекты, присваивать им необходимые компоненты и сохранять их как префабы. Сохраните сцену, нажав Ctrl+S, и протестируйте выполнение.