Найти в Дзене
Skillfactory

Гайд: создаем вашу первую игру на движке Unity

Оглавление

Для создания простой игры на Unity необязательно в совершенстве владеть языком программирования C#. Большое количество готовых ассетов, а также обучающих материалов в интернете очень облегчают задачу.

Вместе с преподавателем курса «Разработчик игр на Unity» Владимиром Филимоновым разбираемся, какие базовые инструменты нужно освоить, чтобы соорудить свою первую игру. Поехали!

Добавьте описание
Добавьте описание

Устанавливаем Unity

Зайдите на официальный сайт и выберите бесплатный тариф — Personal. Далее кликните на «Начать», после нажатия откроется Unity Store.

Видите кнопку «Начните здесь»? Кликайте и скачивайте установщик UnityHubSetup.exe. Его нужно просто открыть, принять условия и нажать «Установить».

Следующий шаг — создание Unity ID.

Добавьте описание
Добавьте описание

Следом вам предложат создать тестовый проект Microgame с помощью разножанровых шаблонов на выбор: LEGO Microgame, шутер от первого лица, картинг, платформер, пустой 3D-шаблон.

Можно поиграться с каждым, чтобы посмотреть, как работает создание игры в конкретном жанре. Вы увидите принципы работы с элементами: как заставить персонажей бегать, менять текстуру объекта или его форму.

Создаем проект

Торжественно нажимаем кнопку NEW в меню проектов. Присвойте ему имя, выберите место хранения на диске и темплейт, то есть шаблон для разработки. Проще начинать с 2D-проектов, так как для этого формата создано больше готовых ассетов.

Ассет (asset) — готовый компонент, который можно использовать для своих проектов. Это могут быть элементы интерфейса в игре, текстура, фигурка персонажа, шрифт или звук.

Разбираемся с интерфейсом

1. Верхняя панель инструментов — стандартные вкладки File, Edit, Help, Assets, GameObject, Components и Window.

2. Scene — окно сцены, в котором выстраивается игровое пространство (элементы игрового мира, текстуры, фигурки персонажей и прочее). Важный нюанс: при создании проекта с нуля оно будет пустым.

3. Games — окно игры, где можно посмотреть глазами пользователя, как будут двигаться элементы и работать игровые механики.

4. Hierarchy — окно иерархии, где перечислен список всех элементов (GameObject), которые помещены в окно Scene.

5. Project — система папок, в которых хранятся ассеты по категориям (текстуры, шрифты, звуки и т. д.).

6. Inspector — окно для изменения элементов игры, их размера, цвета, положения в пространстве и других характеристик.

Добавьте описание
Добавьте описание

Добавляем объект

Объекты на экран Scene можно добавить из Asset Store. Для этого на панели инструментов кликните на вкладку Window → General → Asset Store. В строке поиска можно по названиям найти нужные компоненты, например сет Free Platform Game Assets.

Как и другие ассеты, он загружается с помощью кнопки Import. Перед загрузкой появится список всех компонентов, которые содержит этот пакет, некоторые из них можно исключить. Если в списке есть персонажи, текстуры или другие элементы, которые вам не нужны, можно просто снять галочки, и пакет загрузится без них.

После установки все ассеты доступны в окне Project. Теперь можно комбинировать и перемещать объекты, а также менять их форму с помощью мыши или горячих клавиш, не написав ни одной строчки кода.

Добавьте описание
Добавьте описание

Работаем со скриптами для особых условий

Создать новый скрипт можно в окне Project, кликнув мышкой на Assets → Create → C# Script. Двойным кликом мыши скрипт открывается в текстовом редакторе.

Базовые элементы скриптов:

  • using — элемент в коде, подключает библиотеки;
  • public class — в этой строке прописан класс MonoBehaviour, он содержит набор функций для работы скрипта;
  • void — те самые функции, с их помощью прописываются действия в игре.

Рассмотрим, например, функцию start. Любое действие в ней произойдет только один раз при запуске игры. Пропишем здесь print (“Hi”). Обратите внимание, что в консоли это слово выводится один раз.

Функция update — повторяющаяся, ее можно использовать, допустим, для передвижения объекта. Для этого в скрипте задается переменная int i = 0, она выводится на экран с помощью функции print (i) и увеличивается на одну единицу за каждый шаг с помощью i++.

Апдейт срабатывает каждый фрейм, и объект, к которому применен этот скрипт, плавно движется.

Настраиваем триггеры

Прежде чем приступить к триггерам, важно разобраться с другой сущностью, а именно с коллайдером (Collider). Этот компонент присваивается объекту в пространстве игры, задает форму и делает его твердым, недоступным для прохождения сквозь него.

Пример. Если мы разместим монетку в 2D-пространстве и захотим сделать так, чтобы она упала на платформу, то без использования компонента Collider ничего не получится — монетка пролетит сквозь платформу. Поэтому обоим объектам необходимо присвоить компонент Box Collider 2D — тонкую зеленую линию, которая обводит элементы по контуру, и за счет этой рамки они становятся твердыми. Так объекты обязательно соприкоснутся, и монета встанет на платформу.

Теперь можно переходить к триггеру (Trigger). Это пространство на карте, при попадании в которое с объектом происходит какое-либо действие. Триггер тоже обводит объект или область по краям, но, в отличие от коллайдера, позволяет объектам проходить внутрь этой области.

Пример. На ту же самую платформу вместе с коллайдером наброшен триггер, и при попадании персонажа внутрь триггерной области активируется телепорт — человечка перебрасывает в другую точку карты. Чтобы создать триггер, нужно накинуть тот же самый компонент коллайдера, но поставить галочку Is Trigger.

Добавьте описание
Добавьте описание

Что дальше?

Прокачиваться, прокачиваться и еще раз прокачиваться. Можно самостоятельно или пойти на курс «Разработчик игр на Unity». Это ускорит процесс и даст крутые результаты. Тем более со временем вам все равно захочется делать нечто более профессиональное.

Для работы со скриптами и создания сложных механик разработчикам в любом случае понадобится С#. Но, в отличие от Unity, по нему нет в свободном доступе такого большого количества актуальных и понятных гайдов.

Так что в целях экономии времени и сил лучше записаться в онлайн-школу. Там все знания упакованы в структурированные блоки и сбалансированы практикой на тренажерах.

Желаю удачи в создании первой игры и рекомендую совершенствоваться в этом направлении вместе с профессионалами. Переходите по ссылке, чтобы подробнее почитать о курсе и оставить заявку >>>