Перейти к содержимому

Где находятся обучающие микро игры в юнити

  • автор:

Научитесь программированию в Unity

Хотите программировать собственные компьютерные игры? Начните с бесплатных наборов и обучающих материалов по программированию на Unity Learn, а также не забывайте про наше замечательное сообщество.

Unity Microgame: шутер от первого лица

Unity FPS Microgame

Программируйте игры с Unity

Новички могут загрузить Unity бесплатно и начать с готовых ресурсов Unity Microgame и Mod. Затем углубите знания с помощью обучающих материалов и изучите структуру C#, языка программирования игр в Unity. Научитесь разрабатывать простые скрипты на C# для программирования игрового процесса, механики, визуальных эффектов, систем ИИ и других элементов.

Создавайте красивые игры

Реализуйте свои способности к программированию в Unity! Это может стать началом вашей успешной карьеры. Unity — самая популярная платформа разработки игр в мире: 50% всех мобильных игр созданы в Unity! Профессия Unity-разработчика находится в первой десятке по росту востребованности в США согласно данным LinkedIn.

Введение в программирование на C# в Unity

Introduction to C# scripting in Unity

Что такое C#?

Скрипты в Unity разрабатываются на языке C# (произносится как «си-шарп»), который имеет богатые возможности и прост в изучении. Предлагаем вашему вниманию простое и понятное введение в программировании на C# в Unity, которое также включает информацию о базовом синтаксисе языка, то есть о переменных, функциях и классах.

Unity Creator Kit: программирование

Unity Creator Kit: Code

Создайте свой первый скрипт в Unity

Наборы Creator Kit — это простые игровые проекты, доступные на Unity Learn. Каждый из них можно изучить и освоить за несколько часов В наборе Creator Kit для начинающих программистов вы познакомитесь с основами разработки скриптов на C# для Unity в контексте игры жанра экшен-RPG.

Курс «Творите, программируя», от Unity

Create with Code course from Unity

Полный курс: Create with Code in Unity

Create with Code — это официальный вводный курс Unity по программированию, содержащий более 37 часов насыщенного образовательного контента. В процессе разработки прототипа, решения задач по программированию и ответов на вопросы вы освоите базовые принципы программирования на примере разработки собственного игрового проекта на C# с нуля.

Другие способы учиться программированию в Unity

Обучающие материалы по программированию на C# в Unity

Обучающие материалы по программированию на C# в Unity

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

ТОП-23 курсов по разработке игр на Unity от лучших онлайн-школ геймдизайна

Unity — это бесплатный движок, на котором можно создавать 2D- и 3D-игры различных жанров. Его главное преимущество — простота и удобство. Поэтому научиться создавать игры на Unity может даже тот, кто не знаком с 3D-моделированием и какими-либо языками программирования.

Последнее обновление: 2 октября 2023 года.

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

Кто хочет самостоятельно изучить основы разработки игр на Unity с нуля, смотрите бесплатные обучающие материалы в конце статьи. Мы поддерживаем подборку актуальной и обновляем информацию минимум 1 раз в месяц.

ТОП-7 курсов по разработке игр на Unity в 2023 году

  1. Профессия «Разработчик игр на Unity» от SkillFactory — лучший углубленный курс со множеством практических заданий
  2. «Unity Game Developer. Basic» от OTUS — лучший курс, где уроки проходят в формате онлайн-вебинаров
  3. «Разработчик игр на Unity» от XYZ School — лучший курс, включающий дополнительный модуль о трудоустройстве
  4. Профессия «Разработчик игр на Unity с нуля до Middle» от Skillbox — лучший курс с гарантией трудоустройства (промокод ГДЕКУРС — скидка 55% на обучение)
  5. «Разработчик игр на Unity» от Нетологии — лучший курс, на котором вы сможете создать до 6 игр различных жанров (промокод GDEKURS — дополнительная скидка 5% на обучение)
  6. «Создание игр на Unity для детей» от Skysmart — лучший курс для детей и подростков от 12 до 18 лет
  7. «Intro Hyper Casual» от XYZ School — базовый бесплатный курс для создания вашей первой игры

Ниже читайте краткое описание всех курсов. Среди них точно найдется тот, что вам понравится.

Онлайн-курсы по разработке игр на Unity для взрослых

Стоимость: от 205 200 ₽ или в рассрочку от 5 700 ₽/мес до 36 месяцев

Трудоустройство: помощь

Курс длится 18 месяцев, это полное погружение в разработку игр на Unity. Во время обучения вы создадите множество игр. Среди них будет 3D-платформер, космический и 3D-шутер, 3D-racing, Tower Defence и многопользовательские танки. Заниматься можно в своем темпе, уроки уже записаны и доступны на платформе школы. 80% учебы — практика, вам доступны тренажеры, тесты, домашние задания, работа над проектами и хакатоны. А после обучения школа поможет с трудоустройством.

Стоимость: 63 700 ₽ или в рассрочку от 6 370 ₽/мес до 10 месяцев

Трудоустройство: помощь

В процессе обучения вы изучите Unity, язык программирования C#, а также создадите 3 игры: 2D-платформер, 3D-шутер и 3D-баттлер. Курс длится 4 месяца. Уроки проходят в формате онлайн-вебинаров 2 дня в неделю. Еженедельно вы будете выполнять по одному домашнему заданию и сдавать его на проверку преподавателю. После окончания обучения вам помогут оформить портфолио, резюме и найти работу.

Стоимость: 68 688 ₽ или в рассрочку 3 816 ₽/мес на 18 месяцев

Трудоустройство: помощь

На курсе вы изучите основы работы в Unity, научитесь создавать игровой интерфейс и умных NPC, а также адаптировать игру под различные устройства и публиковать их. В программе вас ждут видеолекции, обратная связь от менторов, проверка домашних заданий и общение в чате с другими участниками. Также в курс входят уроки, которые помогут вам при трудоустройстве.

�� По промокоду ГДЕКУРС доступна скидка 55% на обучение.

Стоимость: 67 394 ₽ или в рассрочку от 2 174 ₽/мес до 31 месяца

Трудоустройство: гарантия

Курс с гарантией трудоустройства. На занятиях вы освоите язык программирования С# и научитесь создавать 2D- и 3D-игры на движке Unity. Курс длится 10 месяцев, за все это время вы сделаете 6-15 игр. Обучение проходит на онлайн-платформе. Вы будете смотреть видеолекции с подробными инструкциями, делать практические задания и отправлять их на проверку куратору. А в конце обучения вам помогут найти работу.

Разработка мультиплеерной игры на платформе Unity 3D Текст научной статьи по специальности «Компьютерные и информационные науки»

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Романов Дмитрий Сергеевич

В данной работе рассказывается про пошаговое создание игр на платформе Unity 3D. Кроме того, автор описал функциональную среду и возможности данного игрового движка, включая его преимущества и недостатки.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Романов Дмитрий Сергеевич

Выбор оптимальной конфигурации древовидных машин четности при их использовании для генерации секретного ключа шифрования

Моделирование игровой сцены при разработке компьютерной игры на платформе Unity 3D
Репортаж из виртуальности
Создание интерактивных кроссплатформенных панорамных туров
Разработка обучающих компьютерных игр: как сохранить баланс между обучающей и игровой компонентой?
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка мультиплеерной игры на платформе Unity 3D»

№ состава Расход материалов, кг Предел прочности в возрасте 7 суток, МПа

Цемент Песок Щебень Вода

1 400 600 1400 160 30

2 300 650 1350 150 25

3 225 750 1250 158 15

При изготовлении применяли

цемент марки М500 (Белгородский завод),

щебень гранитный фракций 5-10 и 10-20 мм отношение 1: 1,

песок кварцевый с модулем крупности, равным 2.

Кубики, указанных в таблице составов, были испытаны на морозостойкость по основному методу. Морозостойкость кубиков :

— состава 1, имеющих открытую пористость 4,1 % составила 300 циклов,

— состава 2 имеющих открытую пористость 5,6 % составила 200 циклов,

— состава 3 имеющих открытую пористость 7,5 % составила 50 циклов,

Сделанные образцы находились в течение 7 дней в обычных температурно-влажностных условиях. В дальнейшем их насыщали влагой до постоянной массы и направляли в морозильную камеру, обеспечивающую изменения температуры в интервале от -50 до -20 °С, после чего образцы подвергали сжатию. Тонкий слой льда на поверхности образцов мешал испарению влаги. Результаты испытаний явно свидетельствуют о сильном снижении прочности бетона на первых циклах переменного действия отрицательных температур, в результате миграции незамерзшей жидкости в порах геля к кристаллам льда в микро-и макрокапиллярах и, как следствие этого, увеличением этих кристаллов. Снижение прочности бетона в значительной степени зависит от водоцементного отношения (В/Ц).

Весьма серьезное падение прочности (до 30 %) наблюдается у кубиков состава 3 с наибольшим водоцементным отношением (0,7).

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

1. Невиль А.М. «Свойства бетона»; «Стройиздат»; Москва. 1972 г. 344 с.

2. ГОСТ 5802-86. Растворы строительные. Методы испытаний.

3. ГОСТ 10060.0-95. Бетоны. Методы определения морозостойкости. Общие требования.

РАЗРАБОТКА МУЛЬТИПЛЕЕРНОЙ ИГРЫ НА ПЛАТФОРМЕ UNITY

Романов Дмитрий Сергеевич — студент магистратуры, кафедра дискретной математики и информатики, Чувашский государственный университет им. И.Н. Ульянова, г. Чебоксары

Аннотация: в данной работе рассказывается про пошаговое создание игр на платформе Unity 3D. Кроме того, автор описал функциональную среду и возможности данного игрового движка, включая его преимущества и недостатки.

Ключевые слова: Unity, разработка игры, компьютер моделирование, компьютерная игра, кроссплатформенность.

УДК 004.4’2Umty3D ББК 32.972

Игровая индустрия стремительно вливается в жизнь человека. Не только современная молодежь, но и взрослое поколение проводит большое количество времени за играми на различных устройствах, будь то персональный компьютер, мобильное устройство или игровая консоль. Из-за этого аспекта, разработчики игр выпускают все больше и больше игр каждый год. Кто-то находит данное занятие, как средство для отдыха и развлечения, для других это инструмент для получения новых знаний. <. Видеоигры признаны видом искусства правительством США в лице Национальной программы поддержки искусства.. .>[1].

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

Современные игры, для обеспечения качественной графики разрабатываются на специализированных, либо самописных игровых движках. Наиболее распространенными из них являются Unity 5, Unreal Engine 4, CRYENGINE V с использованием набора API DirectX 11 или 12 версий, которые дают возможность использовать элементы компьютера, для придания объектам наилучшей графики.

Игровой движок Unity 5 распространяется бесплатно, при условии того, что вы или ваша компания имеет годовой доход с проектов, написанных на игровом движке Unity, не более $100 000, сюда не входят сборы с пожертвований. Но свыше $100 000 разработчику придется платить royalty, установленные в размере 5% от годового заработка автора игры. Разработчики не забрасывают свой проект и постоянно выкладывают новые версии своей программы с периодичностью от 1 до 5 обновлений в месяц.

Цель данной работы: изложение этапов и их подробное описание создания мультиплеерного шутера на платформе Unity 3D.

Игровой движок Unity специализируется для создания игр любых сложностей, как двумерных, так и трехмерных при помощи различных интегрированных средств.

Рассмотрим рабочее пространство Unity (рис. 1). Оно обладает интуитивно понятным интерфейсом, в котором может разобраться любой начинающий разработчик. Рабочее пространство состоит из нескольких окон, которым мы можем манипулировать, перемещая, изменяя размер добавляя новые или удаляя старые окна.

Рис. 1. Интерфейс Unity

• «Scene View» — окно, в котором пользователь может создавать игровые уровни, размещая и перемещая объекты.

• «Game View» — окно, предназначенное для предпросмотра игры, т. е. юзер может увидеть, как будет выглядеть игра, нажав на «play» в верхней части экрана.

• «Hierarchy» показывает какие объекты расположены на сцене. Также отображает отношения «родительский» ^ «дочерний» объекты, по-другому называемый «parenting»

• «Project View» содержит список всех файлов игры.

• «Inspector» является котекстнозависимым окном, отображающее свойства объекта, выделенного в данный момент.

• «Toolbar» — окно, в середине которого отображены кнопки запуска, паузы и покадровое воспроизведение проекта. С левой стороны имеются кнопки навигации по сцене, перемещение, вращение и изменение размера объекта на сцене. Имеются переключатель для переключения между центральной точкой и точкой опоры («Center» и «Pivot»), а также переключатель между локальными и глобальными координатами («Global» и «Local»).

• «Layers» — позволяет включать и выключать свойства объектов на определенных слоях

• «Layout» — позволяет переключаться между различными режимами отображениями окон и создавать свои варианты.

Перед созданием проекта нужно «подготовить почву» — найти модели для будущих объектов. Необходимые объекты можно купить или скачать бесплатно на торговой площадке Unity. Также разработчиками выпущен стандартный набор ассетов, имеющий различные текстуры, модели, скрипты и многое другое.

Создание сцены начинается с постройки поверхности. В данном случае требуется 3D-объект «Plane». Но, если в игре необходим создать какой-либо рельеф, то необходимо использовать объект «Terrain».

В самом «Terrain» содержаться такие настройки поверхности как:

• «Raise/Lower Terrain» — позволяет создавать холмы, горы.

• «Paint Height» — кисть, создающая возвышенности определенных высот.

• «Smooth Height» — инструмент, сглаживающий неровности вершин.

• «Paint Texture» — кисть, накладывающая текстуру на рельеф и объекты «Terrain».

• «Place Trees» — инструмент, создающий деревья.

• «Paint Details» — создает такую растительность, как: трава, кусты и другие.

• «Terrain Settings» — окно, отвечающее за настройки «Terrain».

Добавить объект «Plane» можно через окно «Hierarchy», либо через меню навигаций (GameObject ^ 3D Object ^ Plane), задав нужные размеры, а также его позиционирование в окне «Inspector».

File Edit Assets GameObject Component Mobile Input Window Help

Create Empty Ctrl+Shifti-N I

‘:= Hiera nch у Create Empty Child Alt-i-Shift+N

Cranta (С?All 3D Object > Cube Sphere Capsule Cylinder

«3Main+ 2D Object > Effects > Light > Audio >

Main Camera Directional Ligl

Рис. 2. Создание поверхности

Далее необходимо создать стены, чтобы будущий персонаж не падал за границы (GameObject ^ 3D Object ^ Cube), совместно добавляя различных блоков на сцену. Сцена готова и ее уже можно использовать для различных баталий.

Следующим этапом необходимо создать персонажа. Через «Project View» в пути (Standard Asssets ^ Characters ^ FirstPersonCharacter ^ Prefabs ^FPSController), добавим камеру, способную перемещаться по сцене, поместив на сцену. Для будущего удобства, следует переименовать FPSController в Player. Далее помещаем модель игрока из директории (Standard Asssets ^ Characters ^ ThirdPersonCharacter ^ Models ^ Ethan) в дочерний объект Player -FirstPerson. Тем самым у камеры появляется оболочка игрока. Требуется изменить параметры камеры, содержащиеся в скрипте FirstPersonContoller,чтобы у каждого персонажа была своя камера. Для данного действия нужно изменить класс MonoBehavior на NetworkBehavior в (public class FirstPersonController: MonoBehaviour), указав в void update и void FixedUpdate условие, что будет возможно управление камерой, если игрок является локальным игроком. Проверяется с помощью условия: if(!isLocalPlayer)

Далее убрать присвоение камерой игрока главной камеры, указанной в строке (m_Camera = Camera.main;). Выключение главной камеры (m_Camera.enabled = false;), и ее слушателя (m_Camera.gameObject. GetComponent().enabled = false;). Также принудительно добавить игроку камеру FirstPersonCharacter, перетаскивая ее из окна иерархии объектов на сцене в окно Inspector объекта Player в блок FirstPersonController (Script) свойства Camera.

Server Only cannot be set for Local Player Authority objects

T© H Network Transform (Script) G

Рис. 3. Network Idetity и Network Transform

Для будущего мультиплеера игры в свойствах игрока, нужно добавить два компонента Network Identity и Network Transform (рис. 3). Network Identity отвечает за уникальный идентификатор объекта в сети, Network Transform — за синхронизацию передвижения объекта и его вращение на сцене. Для плавного изображения объекта, рекомендуется выставить максимальное значение для Network Send Rate. Параметр Local Player Authority у Network Identity дает возможность управлять локальному пользователю данным объектом. В корневой папке создается папка с названием «Prefab», перенося в нее префаб игрока.

Так как игра жанра «шутер», следовательно, игроку требуется иметь оружие. Его тоже можно скачать с Asset Store либо сделать его из 3D объектов «Cube». Модель оружия должна быть дочерним элементом камеры персонажа, чтобы игрок мог управлять положением оружия.

Для работы игры в сети нужен пустой объект с компонентами Network Manager и Network Manager HUD.

Network Manager — является менеджером сети. Его функции: управление состоянием игры, сценой, появлением персонажа на сцене, организацию матчей и настройкой.

Network Manager HUD — компонента, предоставляющая пользовательский интерфейс для управления сетевой игрой. Далее в Network Manager необходимо разместить префаб игрока, в последующем игра автоматически будет добавлять его на сцену, при подключении нового игрока к игре.

Префаб — тип ассетов, содержащий в себе все объекты и их свойства.

Для нанесения повреждения противнику создается скрипт, прикрепленный к игроку, в котором будут указываться, каким способом и в какого соперника произведено попадание и какой урон нанесен ему. А также создается скрипт с названием PlayerInfo, в котором будет содержаться информация об игроке. Алгоритм стрельбы будет производится следующим образом: при нажатии левой кнопкой мыши, будет выпускаться луч из камеры игрока на курсор мыши. Если попадание прошло по объекту с тегом «Player», то ему наносится урон.

Для исполнения данного алгоритма потребуется передавать ссылки и значения на объект. Рассмотрим объявление переменных и ссылок.

• public int Damage = 25; — переменная, отвечающая за повреждение.

• public Camera cameraTR; — ссылка на камеру игрока.

• private RaycastHit hit; — переменная, содержащая информацию об объекте попадания лучом.

• private Ray ray; — содержит информацию о направлении луча.

Добавляем условие, при нажатии на кнопку вызывается метод Shoot.

if(Input. GetKeyDown (KeyCode.Mouse0))

Метод Shoot() содержит в себе:

ray = cameraTR.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 1000))

Метод CmdShoot(): [Command]

void CmdShoot (string Id, int dm)

GameObject go = GameObject.Find(Id);

В функции «Shoot» луч выходит из камеры в положение курсора в момент нажатия мыши. Далее, если физический Raycast диаметром 1000 попадает в объект с тэгом Player, привязывая данный луч к переменной hit, то создается новая переменная с именем «id», в которую записывается имя объекта попадания. Здесь CmdShoot сохраняет идентификатор объекта и урон.

Функция CmdShoot отправляет информацию на сервер об игроке, в которого произведено попадание и повреждение с параметрами string Id и int dm соответственно. Создается переменная go, происходит поиск объекта по его уникальному идентификатору. Обращаясь к объекту, к которому привязан скрипт PlayerInfo и сообщает, что ему был нанесен урон.

Скрипт PlayerInfo должен выводить на экран имя игрока, его текущее здоровье. Для этого в префабе игрока создается пустой объект с добавление в него компонента Text Mesh. Для работы данных функций в скрипте необходимы следующие компоненты [SyncVar] public int Health = 100; public TextMesh tm;

В Скрипте PlayerInfo создается переменная Health, которая благодаря атрибуту SyncVar синхронизируется с сервером.

Создается переменная tm, с ссылкой на объект c Text Mesh. Внутри void Start() вставляем:

transform.name = «Player » + GetComponent().netId.ToString(); Health = 100;

У пустого объекта с компонентой Text Mesh меняется свойство Text на имя Player с добавочным идентификатором игрока и указывается его здоровье.

Переходим к скрипту в котором будет вычитаться урон и текущего здоровья и перезагрузку сцены после смерти:

i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Функция Get_Damage принимает значение dm из PlayerShooting отправляемое из функции CmdShoot. Далее вычитает урон из здоровья игрока. Если здоровье меньше 100, то сцена перезапускается.

Последней деталью является отображение здоровья у локального персонажа. Оно будет в правом верхнем углу и зависит от ширины Экрана

Данная функция высвечивает здоровье локального персонажа в левом верхнем углу. private void OnGUI()< if (isLocalPlayer)

GUI.Label(new Rect(Screen.width — 100, 25, 200, 50), «Health: » + Health);>>

Рис. 4. Отображение здоровья персонажей

В данной статье автором был описан рабочий интерфейс программы, изложен процесс разработки игры. В ходе написания статьи создана готовая версия игры на платформе Unity 3d, к которой могут подключиться другие пользователи.

1. Игровой Ассет. [Электронный ресурс] // Википедия: свободная энцикл., 2017. Режим доступа: https://ru.wikipedia.org/wiki/Игровой_ассет/ (дата обращения 01.06.2018).

2. Руководство пользователя Unity. [Электронный ресурс]. Режим доступа: https://docs.unity3d.com/ (дата обращения: 01.06.2018).

3. Русскоязычное сообщество Unity3d.ru. [Электронный ресурс]. Режим доступа: http://unity3d.ru/ (дата обращения: 01.06.2018).

4. Официальный сайт Unity3d. [Электронный ресурс]. Режим доступа: https://unity3d.com/ru/ (дата обращения: 01.06.2018).

5. Джозеф Х. Unity в действии. Мультиплатформенная разработка на C#. Спб: Питер, 2016. 336 с.

ВЫБОР ОПТИМАЛЬНОЙ КОНФИГУРАЦИИ ДРЕВОВИДНЫХ МАШИН ЧЕТНОСТИ ПРИ ИХ ИСПОЛЬЗОВАНИИ ДЛЯ ГЕНЕРАЦИИ СЕКРЕТНОГО КЛЮЧА ШИФРОВАНИЯ Ушаков А.К.

Ушаков Андрей Константинович — студент магистратуры,

кафедра информационных технологий и системы, Институт управления, автоматизации и телекоммуникаций Дальневосточный государственный университет путей сообщения, г. Хабаровск

Аннотация: в статье рассматривается протокол обмена ключами по незащищенному каналу связи с использованием древовидных машин четности. Приводится краткое описание ДМЧ, их структуры и порядка синхронизации их состояний для генерации общего секретного ключа шифрования. Осуществляется выбор оптимальной конфигурации древовидных машин четности для повышения эффективности двунаправленного обучения, а также для обеспечения приемлемого уровня защищенности от вероятностных криптоаналитических атак.

Ключевые слова: протокол обмена ключами, древовидная машина четности, синхронизация состояний, оптимальная структура.

ДРЕВОВИДНАЯ МАШИНА ЧЕТНОСТИ (ДМЧ)

Древовидная машина четности (ДМЧ) — это особый вид многоуровневой искусственной нейронной сети прямого распространения. Структура ДМЧ представлена на рисунке 1.

Как создать игру на Unity

Как создать игру на Unity

Владимир Филимонов

Владимир Филимонов Эксперт в медицинских тренажерах VR на Unity, физических симуляциях и сетевых играх.

Сделать игру на Unity сможет даже начинающий кодер, который не знает С#. Большое количество обучающих материалов и активное комьюнити значительно облегчают первые этапы знакомства с движком и создание первого проекта. Вместе с ведущим разработчиком Unity Владимиром Филимоновым и преподавателем на курсе «Разработчик игр» разбираемся, почему писать код — не главное в геймдеве и какие базовые инструменты и ПО в играх нужно освоить, чтобы соорудить свою первую игру.

Что такое Unity

Unity — это и среда разработки, и игровой движок, с помощью которого создаются проекты для разных платформ: ПК, мобильных устройств, игровых консолей и интернет-платформ, — поэтому он называется кроссплатформенным. В Unity есть инструменты для создания объектов, их перемещения, работы с графикой, текстурами и звуком, поэтому сделать полноценную игру с его помощью можно даже в одиночку. Наглядный пример игры, созданной на Unity, которая поддерживает разные устройства, — Genshin Impact, успешный мультиплатформенный проект китайской студии miHoYo Limited. Более популярной стала ее мобильная версия, но пользователи могут войти в аккаунт, например, с компьютера и продолжить играть с того же момента, на котором остановились в мобильной версии. Кроме Genshin Impact, на Unity созданы такие известные проекты, как Hearthstone, Outlast, Cuphead, Pokemon GO и многие другие.

Освойте профессию «Разработчик игр на Unity»
Разработчик игр на Unity

Все главные навыки разработчика игр на одном курсе. Вы освоите все этапы геймдизайна, научитесь программировать на С# и создадите 7 игр во время курса.

картинка (95)

Профессия / 18 месяцев
Разработчик игр на Unity
Создавайте виртуальные миры
5 399 ₽/мес 9 817 ₽/мес

Group 1321314346 (3)

  • имеет практически неограниченный бесплатный функционал;
  • не требует глубокого знания языков программирования для создания первых простых проектов;
  • имеет многочисленное и активное сообщество, в котором можно найти ответ на любой вопрос, потому что среди такого большого количества людей кто-то обязательно уже сталкивался с вашей проблемой.

Читайте также Как скачать и установить Unity

Как создать простую игру

При создании собственного проекта важно помнить, что разработка кода — это примерно 20% игры; гораздо большее значение в ней имеют другие аспекты:

  • Геймплей — это общее понятие взаимодействия игрока с игровым миром, которое определяет его действия (бежать вперед, преодолевать препятствия, стрелять по мишеням, обгонять других) и цели (прийти первым к финишу, выбить 10 из 10, победить врага в бою, собрать как можно больше монет). Геймплей напрямую связан с жанром игры, так как у каждого из них есть специфичный набор правил и механик.
  • Игровые механики конкретные элементы взаимодействия с игрой, которые входят в состав геймплея. Стрельба — это одна механика, сражение на мечах — другая, гонка — третья. Одна игра может сочетать в себе десятки таких механик.
  • Сюжет это развитие действия в игре; он одинаково важен и для масштабных AAA-проектов, и для небольших, но глубоких инди-игр. Сюжет должен затянуть игрока, рассказать ему историю, а также развивать персонажей, чтобы они не оставались однобокими и раскрывались для игрока с новых сторон.
  • Персонажи — в них важны и дизайн, и характер. Удачно проработанный персонаж обладает узнаваемыми особенностями поведения, интересной историей, а еще для полного погружения он должен иметь что-то общее с игроком, что зацепит его и заставит сопереживать. На эту тему Unity разработали гайд «Пять типов привлекательных игровых персонажей», чтобы у новичков получалось сделать игрового персонажа правдоподобным.
  • Дизайн уровней это внешний вид игры, цветовые решения, общая стилистика объектов, фона, персонажей, предметов, которая создает определенное настроение. В помощь начинающим разработчикам Unity опубликовали в своем блоге «Советы по дизайну уровней вашей первой видеоигры».
  • Баланс — это соотношение характеристик разных объектов, он тоже отвечает за увлеченность игрока. Например, если меч в игре может наносить объекту 3 единицы урона, а объект имеет всего 3 HP (hit points — величина, обозначающая максимальный урон), то его можно уничтожить с первого раза, и играть будет слишком легко. Если объект имеет 30 HP, то игроку придется нанести 10 ударов, чтобы его уничтожить. Такое уже подходит скорее для босса, например на первом или втором уровне. Разработчику важно грамотно распределить эти величины, чтобы игра была увлекательной и бросала игроку вызовы.

Разработчик игр на Unity – одна
из самых творческих профессий в IT. Создайте виртуальные миры уже через полгода обучения

Перед созданием игры важно продумать все эти моменты и представить общую картину, а также найти референсы, на которые можно ориентироваться, продумать опорные точки сюжета и механики. Для создания игры именно на Unity также пригодится понимание некоторых базовых терминов, с которыми постоянно придется сталкиваться в процессе разработки:

  • Ассет (Asset) готовый компонент, который можно использовать для создания своих проектов. Это могут быть элемент интерфейса в игре, текстура, фигурка персонажа, шрифт или звук.
  • Игровой объект (GameObject) это любой ассет, который используется в игровой сцене. Например, изображение монетки, сам ее внешний вид — это ассет, а пять монет, которые должен подобрать персонаж в процессе прохождения уровня — это пять игровых объектов. Сам персонаж при этом тоже станет игровым объектом.
  • Компоненты (Components) — часть игрового объекта, отвечающая за его поведение в процессе игры: перемещение или реакцию на определенные триггеры.
  • Скрипт (Script) код на C#, в котором прописаны конкретные условия работы компонента.

Установка Unity занимает 5–10 минут. Для этого нужно зайти на официальный сайт проекта и выбрать бесплатный тариф для физических лиц — Personal. Его будет достаточно для самостоятельного изучения Unity и создания первой игры. Еще один бесплатный тариф — студенческий, но он подойдет тем, кто зарегистрирован на GitHub и может подтвердить свой ученический статус.

После нажатия кнопки «Начать» откроется Unity Store. Для новых пользователей в нем есть вариант установки движка с обучающим руководством для начинающих. С помощью кнопки «Начните здесь» скачивается установщик UnityHubSetup.exe, который запускается как любой другой установщик: нужно просто открыть файл, принять условия пользовательского соглашения и нажать кнопку «Установить».

Русского языка в настройках нет, так что придется совершенствовать технический английский. Всего Unity занимает 11,3 Гб,поэтому перед установкой лучше проверить свободное место на диске и почистить его при необходимости.

Следующий шаг — создание Unity ID. Можно регистрироваться с помощью почты или использовать предложенные аккаунты, например Google или Apple. Важно поставить первые две галочки: согласие с условиями использования Unity и признание политики конфиденциальности. Третья галочка — это согласие на маркетинговые рассылки, ее ставить не обязательно.

создание Unity ID

После регистрации Unity предложит создать тестовый проект Microgame. На выбор предлагается пять шаблонов:

  • LEGO Microgame;
  • шутер от первого лица;
  • картинг;
  • платформер;
  • пустой 3D-шаблон.

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

Создание проекта

После обучения можно перейти к созданию своей первой игры на Unity с помощью кнопки NEW в меню проектов.

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

Настройка интерфейса

В стандартном интерфейсе проекта шесть элементов рабочей области:

Интерфейс Unity

  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. Теперь можно комбинировать и перемещать эти объекты, менять их форму, причем сделать это можно с помощью мыши или горячих клавиш, не написав ни одной строчки кода. Например, из перечня платформ самых разных видов можно выбрать одну и мышкой перетащить ее в рабочую область.

Шаг 2. Перенести в область Scene

область Scene

Работа со скриптами

За поведение игровых объектов отвечают присоединенные к ним компоненты (Components). Базовый компонент любого объекта — Transform, он отвечает за положение элемента в окне Scene, возможность поворачивать и масштабировать его. К базовому компоненту можно добавить, например, Renderer, который меняет цвет, или RigidBody, который отвечает за массу и физику объекта. Но кроме базовых компонентов, объектам можно задавать особые условия, и для этого как раз используются скрипты.

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

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

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

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

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

И можно заметить, что в консоли это слово выводится один раз.

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

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

Настройка триггеров

Для понимания сути триггеров важно усвоить, что такое коллайдер (Collider). Это компонент, который присваивается объекту в пространстве игры, задает форму и делает его твердым, недоступным для прохождения сквозь него. Например, если мы разместим монетку в 2D-пространстве и захотим сделать так, чтобы она упала на платформу, то без использования компонента Collider ничего не получится — монетка пролетит сквозь платформу.

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

Так объекты обязательно соприкоснутся и монета встанет на платформу.

Триггер (Trigger) — это пространство на карте, при попадании объекта в которое происходит действие; он тоже обводит объект или область в пространстве по краям. По сути, это тот же коллайдер, только триггер позволяет объектам проходить внутрь этой области. Представьте, что на ту же самую платформу вместе с коллайдером наброшен триггер, и при попадании персонажа внутрь триггерной области активируется телепорт — персонажа перебрасывает в другую точку карты.

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

галочка Is Trigger

Триггеры распознают три варианта взаимодействия области на карте и объекта:

  • OnTriggerEnter — объект зашел в зону;
  • OnTriggerStay — объект находится в зоне;
  • OnTriggerExit — объект покинул зону.

Что дальше?

Освоить интерфейс Unity довольно легко, в интернете есть разные гайды на тему того, как сделать это действительно быстро. Например, видео «Я сделал игру на Unity за неделю» или обучающий мини-курс «Как создать RPG за час». Можно изучать геймдев самостоятельно или начать обучение на курсе — это ускорит процесс и даст более заметные результаты.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *