Гайд по Unity для детей: создание игры
Школьник часами проводит за ПК и компьютерными играми — верный признак того, что родителям пора действовать: познакомить ребенка с разработкой игр на платформе Unity.
Занимательное увлечение поможет направить интерес юного геймера в продуктивное русло и выстроить фундамент умений для развития в области IT.
Что такое Unity и чем эта площадка привлекает юзеров
Популярная среда разработки Unity позволяет проектировать 2D- и 3D-игры. Редактор предоставляет необходимые инструменты для работы с графикой, звуковым рядом, анимацией, физикой объектов, шаблонами и скриптами.
Игровой движок Юнити любим как новичками, так и опытными кодерами. На то есть веские причины:
- Простота использования. Низкий порог входа способствует познанию геймдева теми, кто еще не имел опыта кодинга и разработки видеоигр. В Юнити есть возможность визуального скриптинга — создания игр с помощью графической системы и без написания кода.
- Бесплатность. Платформа свободно обеспечивает доступ к инструментам.
- Кроссплатформенность. Геймера порадует потенциал разработать игровой проект под PC, XBOX, Nintendo, Android, iOS или Playstation.
- Наличие гайдов и развитое сообщество разработчиков. С ошибкой или непониманием юный программист не остается один на один: форумы, туториалы, образовательные порталы и документация подскажут, как поступить.
- Язык программирования. Кодинг в Unity происходит на C#, что тоже считается преимуществом: C# легче в освоении, чем C++. А еще C# похож на Java, так что в будущем при желании кодер без проблем овладеет и этим языком.
- Магазин ассетов. Ассеты представляют собой готовые решения, изобретенные другими людьми. Такими компонентами могут быть шаблоны героев, локаций, звуков и иных элементов гейм-пространств. Платные и бесплатные ресурсы позволяют собрать игру, словно конструктор. Для реализации стоящих проектов все же понадобится умение написать код: не рассчитывайте обойтись без формирования скрипта. Разыскать ассеты можно в цифровом маркетплейсе Unity Asset Store.
- Шанс заработать. В магазине можно как купить шаблоны, так и предложить на продажу собственноручно разработанные пространственные модели, шейдеры, наборы UI и спрайтов.
Авторы движка были студентами, желающими сделать разработку игр доступной для всех — и у них это получилось. Unity подходит для работы над видеоигрой в одиночку или небольшой командой. На Юнити написаны проекты: Pokemon Go, Cuphead, Monument Valley.
Зачем детям знания, как создать игру на Юнити
Испытать себя в конструировании игр на Unity могут ребята 10–14 лет. Геймдев — не только увлекательное, но и полезное занятие, ведь оно развивает:
- Логику. Трудясь над играми, ребенок рассуждает, анализирует, сравнивает, обобщает и делает выводы.
- Креативность. Продумывая сюжет, внешний облик персонажа и взаимодействие между героями, школьник прокачивает творческие таланты и выражает собственную индивидуальность.
- Целеустремленность. Желая поскорее очутиться автором желаемой игры, подросток назначает цель, обозначает этапы пути и движется, преодолевая препятствия.
- Самостоятельность. Создание игр — соло-процесс. Школьник учится принимать решения и полагаться на себя.
- Внимательность. Отсутствие концентрации влечет за собой ошибки — чтобы их не совершать, ребенок концентрируется и направляет внимание на выполняемые действия.
- Умение признавать ошибки. Как бы внимателен ни был разработчик, без багов в программировании никуда: остается прокачивать в себе способность спокойно относиться к промахам и уметь их исправлять.
- Интерес к учебе. Разработка игр напрямую связана со школьными предметами: информатикой, математикой, английским. Даже если раньше ученику эти дисциплины казались скучными или сложными, то теперь начинающий гейм-программист понимает, как применить знания, полученные на уроках.
Научившись производить игры на Юнити, ребенок получит базу IT-навыков, которые пригодятся при дальнейшем развитии в высокооплачиваемой отрасли программировании.
Кому подойдет разработка игр с помощью Unity
Юнити-кодинг придется по душе не только геймерам и поклонникам гаджетов:
- Найти себя в разработке также могут любознательные ребята с пытливым умом, которые стремятся узнавать новое.
- Попробовать себя в геймдеве покажется любопытным продвинутым подросткам, увлекающимся высокими технологиями и мечтающим изменить мир.
- Увлечение разработкой приглянется усидчивым и терпеливым школьникам, способным на протяжении времени заниматься одним и тем же.
- И, наконец, создание игр привлечет детей с развитой фантазией, желающих воплощать неповторимых персонажей, игровую механику и виртуальные миры.
Школа программирования «Пиксель» представляет инструкцию по Unity: рассказываем, как сконструировать и разместить в интернете первую онлайн-игру. Переходим к разработке проекта.
Старт: ознакомление с интерфейсом и нюансы проектирования игр на Unity
Сперва загрузим и поставим на компьютер Unity 3D — движок для разработки игр. Краткая видеоинструкция поможет сориентироваться в установке Visual Studio и реализации пробного проекта. Затем перейдем к исследованию интерфейса среды.
Создавая игру с нуля в Unity, разработчик наблюдает сцену с расположенными на ней гейм-объектами. Поведение этих объектов определяют компоненты. Приведем примеры:
Transform диктует значения нахождения, размеров, вращения и состояния наследования объекта.
Rigidbody ответственен за трансформации и отклик на гравитацию.
Каждый игровой объект является контейнером для различных компонентов.
Кодинг в Юнити строится на формировании классов, выступающих в качестве компонентов у объектов. Посмотрим, за что ответственны игровые классы:
Audio: воспроизведение музыки и передача звуков при перемещении;
Settings: соответствие состояния проекта заданным настройкам;
Data: информация о юзерах;
Serializable Settings: сохранение пользовательских настроек;
Player: действия героя, которым руководит игрок;
Health: здоровье спрайта;
Scrolling: непрекращающееся движение заднего фона и его объектов.
Поглубже вникнуть в термины и работу с ними через скрипт поможет тематический видеоурок.
Еще одна специфика Unity — мультисценное взаимодействие. Пользователь использует несколько гейм-сцен одновременно и меняет их по необходимости.
Разработка игр на Unity: как осуществить управление героем в 3D
Итак, среда установлена, а интерфейс и инструменты изучены. Пришла пора рискнуть и сделать проект на игровом движке. Сконструируем сцену, внедрим спрайта и обучим его перемещениям.
Тому, как заставить двигаться персонажей игры, посвящен видеоурок: советуем ознакомиться.
Прежде всего стоит заняться подготовкой сцены. Выбираем Plane и Sphere в роли героя. Для добавления этих объектов в меню Hierarchy нужно нажать на +, следом — на 3D Object → Plane (или Sphere).
Поделим сцену на 2 компонента. Один из них — пространство, по которому передвигается персонаж. Расположение сферы регулируется потягиванием за стрелки.
Важно, чтобы был активизирован Collider — этот компонент представляет собой невидимые «границы» объекта и связан с движениями при столкновении. Чтобы добавить коллайдер, потребуется поставить галочку в правом нижнем углу.
После займемся компонентом Rigidbody: он поможет «оживить» персонажа и настроить его поведение и реагирование на гравитацию. Отыскать компонент можно так: Add Component → Physics → Rigidbody.
Продолжаем разработку игр на Юнити: пишем код для движения героя
Перейдем к написанию скрипта для передвижения спрайта на C#.
Для создания кода делаем правый щелчок мышью в районе сцены. В появившемся окне нажимаем Create → С# Script. Скрипту необходимо дать название на английском. В текущем случае наименование — PlayerController.
Пропишем 4 переменные типа float: от них зависит скорость перемещения по осям координат. Взглянем на эти переменные:
MovementSpeed: темп хода;
TurningSpeed: скорость поворота;
Vertical: вертикальное передвижение;
Horizontal: горизонтальный сдвиг.
В переменную Horizontal пропишем продвижение по горизонтали, помноженное на скорость поворота и Time.deltaTime: это позволит сгладить действия. Поворот объекта осуществляется по оси Y.
То же проделываем и в отношении переменной Vertical: внесем движение по вертикали, перемноженное на скорость движения и Time.deltaTime. Таким образом, герой станет передвигаться по оси Z.
Не забудьте сохранить программу комбинацией клавиш Ctrl+Shift+S. Скрипт остается поместить на спрайта: используя мышь, переместите его в правое меню.
Жмем на кнопку пуска и смотрим, что получилось.
Разработка 2D-игры на Unity: делаем программу с управлением персонажа
Как уже упоминалось, в Юнити выполняются не только игры в 3D, но и в «плоской графике». Предлагаем осуществить похожий проект, но на этот раз в 2D.
В первую очередь, предстоит встроить землю и героя в сцену. Скачать ресурсы можно тут — или же поискать подходящие в библиотеке с ассетами, о которой говорилось выше.
При помощи мыши перемещаем спрайта и землю на сцену. Воспользуемся сочетанием клавиш Ctrl+D и инструментом Move: клонируем отрезок земли и распределим поверхность по сцене.
Переходим к объединению долей земли для упрощения добавления компонентов на платформу. С этой целью создаем пустой объект: нажимаем на + и останавливаемся на Create Empty. Переместим в этот объект клонированные сегменты земли.
Поверхность, по которой движется герой, окажется в папке Game Object — с ней и будем контактировать далее. Избираем Game Object и нажимаем на Add Component → Physics 2D → Box Collider 2D.
Коллайдер обозначится на сцене, но в одной точке. Следует растянуть его по поверхности, зажав Edit Collider.
Зажимаем края и вытягиваем Collider по земле.
То же делаем и со спрайтом. В Hierarchy останавливаемся на объекте героя: в данной ситуации его имя — dragon.
Прибавляем Box Collider 2D и тянем по спрайту. Используя колесико мыши, получится поближе рассмотреть персонажа, а применяя Edit Collider — тщательно подправить границы Коллайдера. Остается позаботиться о физике: Add Component → Physics 2D → Rigidbody 2D.
Переходим к составлению кода на C# для разработки 2Д-игры на Юнити. Совершаем правый клик мышью и выбираем Create → С# Script. Затем объявляем переменные:
maxSpeed: скорость спрайта, задаем равную 10;
flipRight: позволяет отразить героя по горизонтальной оси X или по вертикальной оси Y. Необходимо реализовать отражение по X в соответствии с направлением передвижений персонажа.
Воспользовавшись компонентом Rigidbody, осуществляем движение по горизонтали, помноженное на скорость.
Обозначаем при участии инструмента Move направление передвижения по горизонтали. Используем оператор if-else: если пользователь зажимает клавишу «влево», то герой перемещается в левую сторону, в коде возвращается −1. Если же «вправо» — спрайт отправляется в правую сторону, возвращается 1.
Сохраняем скрипт и помещаем на дракона. Запускаем готовый проект.
Подошло к концу создание 2D-игры: если следовать инструкциям, это должно занять не более 30 минут.
Если процесс и финальный итог доставили удовольствие, продолжить совершенствоваться в искусстве построения игр можно при конструировании раннера: воспользуйтесь видеоуроком.
Сохранение проекта и публикация его в Play Market
Добавление игры в Unity Asset Store или Play Market займет в 2 раза меньше времени, чем разработка. Рекомендуем прибегнуть к видеоинструкции.
Теперь вы знаете, как создать игру на Unity. Придумывайте и воплощайте проекты, тестируйте результаты, публикуйте их в Сети и получайте обратную связь: постоянная практика поможет прокачаться в геймдеве и построить карьеру в IT-сфере.