Текст скопирован

Инструкция по созданию игровых объектов в Юнити

Логотип TU Логотип Kaf-IT

Установка Unity и создание проекта

Первым делом вам необходимо перейти на официальный сайт https://unity.com/ru/download и нажать Загрузить.

Установка Юнити

Далее запустите загруженный файл и установите Unity Hub. Теперь вам нужно зарегистрироваться. После регистрации скачайте проект, с которым мы будем работать в данном мастер-классе по ссылке https://disk.yandex.ru/d/y7O_NmXxcJeZUg.

Затем нажмите на кнопку Open и Add project from disk, после чего выберите расположение только что скачанного проекта. Вам предложат установить необходимую версию Unity. Можно установить только первый компонент (приложение для редактирования кода) или снять все галочки.

Дождитесь окончания установки и запустите проект.

Знакомство с интерфейсом и необходимые функции

После загрузки проекта интерфейс должен выглядеть примерно так. Давайте рассмотрим, какие окна открыты.

Начальный экран

В левом нижнем углу находится окно Hierarchy (Иерархия), где отображаются текущая сцена и все объекты, например: холодильник, кровать, стол. Для выбора объектов используйте именно это окно.

Окно Иерархии

Правая панель объединяет три окна:

  1. Окно Console – консоль для вывода сообщений об ошибках и сообщений разработчика.
  2. Окно Project – отображает все файлы проекта: код, изображения, папки. Используйте его для открытия нужных файлов.
  3. Окно Unity Version Control – используется для совместной работы над проектом (в данном мастер-классе не требуется).
Нижняя панель

В правой части экрана расположены три активных окна:

  1. Окно Inspector – отображает информацию о выбранном объекте (его компоненты и свойства). Для редактирования компонентов выбирайте объект в окнах Hierarchy или Project. (Рисунок 1)
  2. Окно Animation – предназначено для редактирования анимаций (в данном мастер-классе не используется).
  3. Окно Tile Palette – палитра блоков для создания или редактирования карты.
Инспектор
Рисунок 1 – Окно Inspector
Верхняя панель
Рисунок 2 – Верхняя панель интерфейса
Кнопки пуска
Рисунок 3 – Кнопки управления запуском игры

Если понадобятся дополнительные окна, их можно найти в меню Window в верхней части интерфейса. (Рисунок 2)

Для запуска игры, постановки её на паузу или пошагового выполнения используйте соответствующие кнопки в центре верхней панели. (Рисунок 3)

Описание игрового процесса

При нажатии кнопки Play запускается текущая сцена (SampleScene). Персонаж перемещается клавишами WASD и взаимодействует с объектами, нажимая кнопку E при подходе.

Запуск игры 1 Запуск игры 2

В нижней левой части экрана находится дверь, при взаимодействии с которой персонаж перемещается на другую сцену.

Запуск игры 3 Запуск игры 4

Персонаж перемещается по рядам и влево-вправо до границ сцены, но дальнейшая логика отсутствует. Наша задача – исправить это.

Для начала остановите игру (еще раз нажмите Play) и в окне Project откройте папку Scenes, затем дважды кликните по сцене SubwaySurfRunning.

Перейдите в окно Hierarchy, кликните правой кнопкой мыши по свободному месту и выберите Create Empty для создания нового объекта (назовите его "1").

Создание объектов

Щелкните правой кнопкой мыши по объекту "1" и выберите Create Empty для создания дочернего объекта, назовите его "2".

Если объекты не выстроились в виде лесенки, удалите объект "2" и повторите попытку.

Два объекта

Выберите объект "2" и откройте окно Inspector.

Инспектор 2 объекта

Объект "2" появляется на сцене без свойств. Добавим изображение с помощью компонента Sprite Renderer. Для этого нажмите кнопку Add Component и выберите данный компонент.

Sprite Renderer

Затем выберите изображение для объекта: в окне 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 равными нулю.

Координаты 1

Затем отредактируйте положение второго объекта – его координаты должны быть заданы следующим образом:

Координаты 2

При заданных координатах объект появится на верхней полосе дороги. Для создания дополнительных объектов, которые будут появляться на других полосах, достаточно продублировать объект "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 все объекты подсветятся синим цветом.

Сохранение префаба 1 Сохранение префаба 2

Теперь настроим так, чтобы объект появлялся на сцене до тех пор, пока не заполнится шкала. Для этого выберите объект Objects в Hierarchy и откройте его в окне Inspector. Вы увидите настройки, подобные показанным ниже.

Скрипт создания объектов

Нам нужно настроить скрипт Prefab Spawner. Нажмите на значок плюса и создайте четыре поля, соответствующих количеству полос игрового поля.

Настройка скрипта

Перейдите в папку, где сохранён созданный объект, и перетащите его (зажав левую кнопку мыши) в каждое из четырёх полей. Таким образом вы обеспечите периодическое появление объекта на сцене до изменения игрового состояния. Чтобы бонус появлялся в разных местах, вы можете создать дополнительные объекты с изменёнными координатами или использовать уже готовые объекты из папки Prefabs/old.

Таким образом, вы научились создавать объекты, присваивать им необходимые компоненты и сохранять их как префабы. Сохраните сцену, нажав Ctrl+S, и протестируйте выполнение.