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