2d игра на unity. подробное руководство. часть 1
Содержание:
- Курс «Middle-разработчик игр на Unity» от Skillbox
- Простой зомби-шутер на Unity
- Prefabs (Префабы)
- Unity-разработчик игр: кто это и чем занимается
- Программа курса
- Добавление графических ресурсов на игровую сцену
- Настройка среды в Unity
- Компоненты
- Unity
- Разработка вашей первой игры с помощью Unity и C#
- Крайне важный GameObject
- Окно редактора Unity
- Первые шаги использования Unity
- Разметка и панели Unity
- Графические ресурсы для видеоигры
- Кратко об игровом движке Unity
- Изучение интерфейса Unity
- Заключение
Курс «Middle-разработчик игр на Unity» от Skillbox
Длительность | 6 месяцев |
Уровень | С нуля |
Для кого подходит | Junior-разработчикам на Unity + С#-программистам, которые хотят в геймдев |
Формат | Видеоуроки + домашние задания + общение с куратором |
Гарантии | Подготовка к успешному прохождению собеседования |
Итоги | Диплом + портфолио |
Цена | ● полная – 60 000 рублей; ● УСПЕЙ НА СКИДКУ! – всего за 42 000 рублей; ● есть рассрочка от 3 500 рублей в месяц; ● гарантия возврата денег в течение 30 дней, если не понравится формат обучения или манера преподавания. |
Ссылка на курс |
Программа курса включает в себя следующие блоки:
- основы разработки многопользовательских игр, работа с сетью, компоненты из группы Network, работа с веб-ресурсами, загрузка текстовых данных и текстур;
- форматы данных в игре, форматы JSON/XML, создание классов, загрузка/сохранение игры, работа с потоковыми данными в StreamingAssets;
- создание шейдеров – синтаксис ShaderLab и HLSL, редактор Shader Graph, работа с RenderTexture, работа с экранным буфером, вычислительные шейдеры;
- применение основ ООП в Unity, наследование скриптов;
- создание комплексной анимации персонажа, применение масок к скелету, наложение анимационных слоев, управление частью скелета с помощью устройств ввода;
- использование Coroutine в движке и работа с освещением;
- оптимизация игр и распределение ресурсов, минимизация «узких» мест, создание атласов для объектов окружения, использование low-poly-рендеров для объектов с плотной сеткой, работа с LOD-Group – управление уровнем детализации и много другое;
- дипломный проект, разработка кооперативной онлайн-игры.
Преподаватели:
Сергей Ледин – опытный преподаватель, разрабатывает игры и визуальные эффекты с 2008 года, пишет на языках C++, C#, HLSL, Python, работает с 3D Maya, Cinema4D, Unity и Unreal Engine 4, создал игры по мультфильмам Go Go Cats, Qumi-Qumi и приложение StandAll для iPhone, iPad и Android.
После окончания курса вы сможете:
- программировать на С# с учетом ООП;
- создавать собственные шейдеры;
- разрабатывать VFX для игр;
- работать с мобильными устройствами;
- делать сетевые игры;
- оптимизировать игры и свою работу.
Мои впечатления: Программа готовит специалистов по разработке игр на Unity. Отучившись на этом курсе вы выйдете уже опытным разработчиком игр. А значит и спрос на вас на рынке труда будет хороший. С этим, кстати, помогут местные специалисты по части HR. Так что не откладывайте. Вперед к новым свершениям!
Получить скидку →
Выводы:
Онлайн-курсы — отличный способ быстро и легко войти в мир разработки игр. Хобби можно превратить в способ заработка и забыть о скучной и неинтересной работе. Если страшно резко уходить в новую специальность, берите для начала небольшие проекты. Ими можно заниматься в выходные или в другое свободное время. Постепенно вы будете делать новую работу быстрее, что даст возможность брать масштабные задания или уйти полностью в сферу игр. После окончания курса остаётся много полезных контактов, в том числе и с преподавателями. Даже после окончания обучения им всегда можно задавать вопросы или посоветоваться в спорных моментах работы.
Простой зомби-шутер на Unity
- Технотекст 2020
- Tutorial
Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написал подробную статью, которую мы и предлагаем вашему вниманию.
В этой статье мне хотелось бы показать, насколько просто создавать игры в Unity. Если у вас есть базовые знания программирования, то вы сможете довольно быстро начать работать с этим движком и сделать свою первую игру.Дисклеймер №1: данная статья рассчитана на новичков. Если вы собаку съели в Unity, то она может показаться вам скучной.Дисклеймер №2: для прочтения этой статьи вам потребуется хотя-бы базовое знание программирования
Как минимум, слова «класс» и «метод» не должны вас пугать.Осторожно, под катом трафик!
Prefabs (Префабы)
Сохранить эти платформы как префабы. Просто перетащите их в папку Prefabs:
Таким образом вы создадите , точно отвечающий оригинальному игровому объекту. Вы увидите, что игровой объект, который вы конвертировали в , представляет собой новый ряд кнопок прямо под его именем:
Создание префабов с объектами-платформами упростит их повторное использование. Просто перетащите Prefab на сцену, чтобы добавить копию. Попробуйте добавить другую платформу таким же образом.
Теперь вы можете добавить больше платформ, меняющих свои координаты, размеры и плоскости (вы можете поместить их на заднем или переднем плане, просто установите координату Z для платформы на ).
На данном этапе все это выглядит еще сыроватым, но в следующих двух главах мы добавим параллаксный скроллинг, и сцена оживет у нас на глазах.
Слои
Прежде чем двигаться дальше, мы модифицируем наши слои, чтобы избежать каких-либо проблем с порядком их отображения. Для этого просто измените позицию игровых объектов по оси Z во вкладке Hierarchy (Иерархия) следующим образом:
Слой | Позиционирование по оси Z |
---|---|
0 — Задний фон | 10 |
1 — Средний фон | 5 |
2 — передний фон |
При переключении из 2D режима в 3D, в окне «Scene» (Сцена) вы будете четко видеть слои:
В следующем уроке:
Вы только что узнали, как создать простой статический фон и как отобразить его должным образом. Затем мы научили вас, как сделать простые спрайты. В следующей главе мы узнаем, как добавить игрока и его врагов.
Unity-разработчик игр: кто это и чем занимается
Unity Game Developer — это человек, который разрабатывает игры с помощью специального движка «Unity». Он выполняет следующие должностные обязанности:
- придумывает идею, сюжет игры;
- участвует во всех этапах разработки;
- занимается тестированием продукта;
- дорабатывает игры;
- следит за обновлениями;
- поддержку,
- разрабатывает инструменты для анимации, моделирования игр.
Разрабатывать игры может как коллектив программистов, так и один человек. Умение слаженно работать в коллективе для игрового специалиста важна не меньше, чем знания теории и навыки.
Подписывайтесь на наши новости
Одно письмо в неделю с самыми актуальными статьями + обзор digital-профессий!
*Нажимая «Подписаться» вы даете согласие на обработку персональных данных.
Программа курса
Тема 1. Введение в разработку игр
Основы разработки игр. Обзор редактора Unity. Проекты, сделанные с помощью Unity. Создание игр в режиме 2D и 3D. Создание игр без навыка в программировании.
Тема 2. Работа в редакторе Unity
Установка Unity. Интерфейс Unity. Настройка рабочего пространства. Работа с ассетами. Примитивные модели.
Тема 3. GameObjects. Физика. Скриптинг
Игровые объекты GameObjects. Шаблоны игр от Unity. Создание 2D игры за 10 минут. Физика в Unity 2D. Скриптинг.
Тема 4. Начало создания 2D игры — Space Attack
Создание фона для игры. Космический корабль. Написание скрипта. Управление игровым объектом. Рефакторинг кода.
Тема 5. Экзамен и практика
Тема 6. Работа с лазером
Настройка лазера. Взаимодействие с объектами. Уничтожение объекта. Пустой трансформ. Контроллер на сцене. Скрипт движения. Ускорение.
Тема 7. Объект Enemy
Поведение Enemy. Уничтожение объекта. Попадание через коллизию. Поведение объектов при взрыве. Уклонение от нападений.
Тема 8. Создание пользовательского интерфейса
Знакомство с Unity UI. Установка UI Manager. Отображение количества очков. Окно перезапуска игры. Рефакторинг кода.
Тема 9. Сборка игры
Добавление аудио. Обработка ошибок. Сборка игры. Запуск на устройствах.
Тема 10. Экзамен и практика
Добавление графических ресурсов на игровую сцену
Для добавления графики на «Сцену» нужно перетащить нужный ресурс из окна «Активы» в окно «Сцена». В окне «Иерархии» с левой стороны видны все ресурсы, которые добавлены в проект. После выбора в окне «Инспектора» можно расширить его размер, переместить их и изменить глубину.
Некоторые особенности ресурсов в Unity:
Позиция — положение может быть изменено как с «Инспектора», так и со «Сцены» с использованием координаты X и Y.
Вращение — угол поворота, с которым показывают спрайт.
Масштаб может быть изменен как от «Инспектора», так и от «Сцены»
Если он имеет значение 1, то это нормальный размер, если равен 2, то это двойное увеличение.
Порядок в Layar — это очень важно, так как именно он указывает очередность, в котором объекты будут изображены. Например, если есть птица с порядком в Layar = 0, а другая с порядком в Layar = 1, то птица с наивысшим порядком будет нарисована поверх другой.
В этом примере видно, что кукла и птица нарисованы над горами, что связано с порядком рисования в слоях. Кроме того, в Unity есть несколько объектов по умолчанию, которые можно добавить из GameObject-> 2D-> Sprite для 2D-объектов.
Компоненты помогут добавить наших персонажей и физические объекты, которые будут вести себя, как в реальном мире. Перед их добавлением, если запустить симуляцию с помощью кнопки воспроизведения, объекты будут плавать на экране. Если добавить физические спрайты, на них будет влиять гравитация.
Чтобы добавить компонент, нужно выбрать объект из сцены и в окне «Инспектора» нажать «Добавить компонент» -> Физика 2D -> Жесткое тело. Этот компонент заставляет объект вести себя, как твердое тело с гравитацией. Для этого прописывают Add componenttent-> Physics 2D->, но теперь вместо Rigid Body добавляют в помощь детектор столкновений и выбирают самый простой Box Collider.
Важно выбирать коллайдеры с хорошей производительностью, если на экране много объектов, так как в противном случае производительность игры упадет. Столкновения спрайтов могут быть в основном двух типов:
Столкновения спрайтов могут быть в основном двух типов:
- Блокировщики: спрайт сталкивается с другим и не может пройти через него. Пример: стена или пол.
- Неблокирующая, например, спрайт сталкивается с быком, но проходит через него, и все, что он будет делать, — например, выстрелит триггером, чтобы изменить состояние и выполнить действие.
Настройка среды в Unity
Начнем с самого простого: загрузки и настройки Unity.
Загрузите последнюю версию с официального сайта или торрента и запустите установочный файл.
Полезно знать: невозможно использовать отладчик Visual Studio 2013 Express с Unity. Вы должны иметь Pro версию Visual Studio и купить плагин. С версией Express, вы будете иметь лучший редактор кода, но отсутствие отладчика сведет на нет все его достоинства.
Mac OS X
— существенно лучше, чем старый MonoDevelop 2 в предыдущих версиях Unity. Он, конечно, далек от совершенства, но ничего лучшего под на Mac не придумано.
На каком языке программировать в Unity?
Unity позволяет кодировать на трех языках: JavaScript, C# и Boo. Рекомендую использовать C# — он более мощный и проще.
Научиться пользоваться в главным интерфейсом Unity достаточно просто. Вам, может быть, будет страшно в первый раз, когда открываете программу, но уже через несколько часов вы будете чувствовать себя в нем как рыба в воде.
Вот несколько ссылок, которые могут быть вам полезными:
- : основа всех основ. Не зная интерфейса, вы не сможете создавать игры в Unity 3D
- : изучение этого раздела поможет вам создать свою собственную сцену
Первая сцена. Создаем новый проект.
Выберите меню File, а затем создаqnt новый проект. Не выбирайте нивакой стандартный пакет на первое время. Вы можете повторно импортировать их позже, если вы захотите, просто поначалу они будут просто сбивать вас с толку.
Выберите 2D настройки. Как и прежде, вы можете изменить этот флаг в настройках проекта позже.
Не беспокойтесь о названии. Оно определяется в настройках, и чтобы изменить имя проекта достаточно просто переименовать папку.
Компоненты
Вы добавляете функциональность к объектам GameObject добавлением компонентов (объектов Component). Все, что вы добавляете, — это Component, и все они показываются в окне Inspector. Существуют компоненты MeshRender и SpriteRender, компоненты для звука и функционала камеры, компоненты, относящиеся к физике (коллайдеры и твердые тела ), системы частиц, системы поиска пути, сторонние пользовательские компоненты и др. Чтобы назначить код какому-то объекту вы используете скриптовый Component. Компоненты — это как раз то, что оживляет ваши GameObject добавлением функциональности подобно шаблону Decorator в разработке ПО, только их возможности гораздо интереснее.
Я присвою кое-какой код новому GameObject, в данном случае простому кубу, который можно создать через GameObject | Create Other | Cube. Я переименовал куб в Enemy, а затем создал еще один куб. Как видно на рис. 7, я сместил один куб на –15 единиц от другого, что можно сделать с помощью инструмента Move на панели инструментов или нажатием клавиши W после выделения объекта.
Рис. 7. Текущий проект с двумя кубами
Код — простой класс, который находит игрока и перемещает к нему своего владельца. Обычно операции перемещения осуществляются одним из двух способов: либо вы перемещаете объект в новую позицию на каждом кадре, изменяя его свойство Transform.Position, либо вы применяете к нему физический толчок, а в остальном полагаетесь на Unity.
Покадровые операции требуют несколько иного образа мышления, чем просто «переместить в эту точку». Для этого примера я намерен немного смещать объект на каждом кадре, чтобы иметь точный контроль над тем, куда он движется. Если вас не прельщает перспектива работы с каждым кадром, существуют библиотеки, выполняющие покадровые перемещения всего одним вызовом функции, например бесплатная библиотека iTween.
Первым делом я щелкаю правой кнопкой мыши в окне Project, чтобы создать новый скрипт на C# с именем EnemyAI. Для назначения этого скрипта объекту я просто перетаскиваю файл скрипта из представления проекта на объект в представлении Scene или Hierarchy, и этот код связывается с объектом. Остальное берет на себя Unity. Вот так просто.
На рис. 8 показан куб Enemy с назначенным ему скриптом.
Рис. 8. Enemy со связанным скриптом
Взгляните на код на рис
9 и обратите внимание на открытую переменную. Если вы смотрите на код в Editor, то заметите, что моя открытая переменная появляется с параметром для переопределения значений по умолчанию в период выполнения
Это очень удобно. Вы можете менять значения по умолчанию в GUI для элементарных типов, а также можете предоставлять открытые переменные (но не свойства) многих других объектных типов. Если я перетаскиваю этот код на другой GameObject, создается совершенно отдельный экземпляр этого компонента кода. Это базовый пример, и его можно расширить, добавив, скажем, компонент RigidBody к этому объекту, но я не стану усложнять пример.
Рис. 9. Скрипт EnemyAI
В коде я могу получить ссылку на любой компонент, предоставляемый в редакторе. Кроме того, можно назначать скрипты для GameObject, каждый со своими методами Start и Update (и многими другими методами). Предполагая, что компоненту скрипта, содержащему этот код, требуется ссылка на класс EnemyAI (компонент), я могу просто запросить этот компонент:
После изменения кода в MonoDevelop или в своем любимом редакторе кода и последующего возврата в Unity вы обычно наблюдаете небольшую задержку. Это связано с тем, что Unity выполняет фоновую компиляцию вашего кода. Редактор кода (но не отладчик) можно сменить через Edit | Preferences | External Tools | External Script Editor. Любые проблемы при компиляции в самой нижней строке состояния на экране Unity Editor, так что посматривайте туда. Если вы попытаетесь запустить игру с ошибками в коде, Unity этого не позволит.
Unity
- 07/02/2015
- Чтение занимает 21 мин
В этой статье
Разработка вашей первой игры с помощью Unity и C#
Продукты и технологии:
Unity, C#, Microsoft .NET Framework, Mono
В статье рассматриваются:
- интерфейс Unity;
- сцены, игровые объекты и компоненты;
- написание кода;
- проекты кода, генерируемые Unity.
Как архитектор ПО я создал много систем, занимался обратным инжинирингом вредоносного программного кода и, в целом, мог бы достаточно легко разобраться почти в любом коде. Однако, когда дело дошло до создания игр, я слегка растерялся, даже не зная, с чего начать. На заре эпохи Windows я немного программировал графику в неуправляемом коде — не могу сказать, что это доставило мне удовольствие. Я тогда начинал разработку на DirectX, но осознал, что, хотя он обладает колоссальными возможностями, мне пришлось бы писать слишком много кода для того, что я хотел сделать.
И вот однажды я решил поэкспериментировать с Unity — инфраструктурой, способной на удивительные вещи. Это первая из четырех статей, в которой я расскажу об основах и архитектуре Unity. Я покажу, как создавать двух- и трехмерные игры и, наконец, как вести разработку с ее применением на платформах Windows.
Крайне важный GameObject
Практически все в вашей сцене является GameObject. Вспомните System.Object в .NET Framework. От него наследуют почти все типы. Та же концепция относится и к GameObject. Это базовый класс для всех объектов в сцене Unity. Все объекты, показанные на рис. 5 (и многие другие), наследуют от GameObject.
Рис. 5. Класс GameObject в Unity
Lights | Источники освещения |
3D Models | 3D-модели |
Sprites | Спрайты |
HUDs | Игровые интерфейсы |
Particle Systems | Системы частиц |
GameObject | GameObject |
GameObject довольно прост, так как он относится к окну Inspector. На рис
6 видно, что к сцене был добавлен пустой GameObject; обратите внимание на его свойства в Inspector. У GameObject по умолчанию нет визуальных свойств, если не считать того, что при выделении этого объекта появляется виджет Unity
На этом этапе это фактически пустой объект.
Рис. 6. Простой GameObject
GameObject имеет свойства Name, Tag (аналог тега text, присваиваемого через FrameworkElement.Tag в XAML или тегу в Windows Forms), Layer и Transform (пожалуй, это свойство самое важное). Свойство Transform определяет позицию, поворот и масштаб любого GameObject
Unity использует левостороннюю систему координат, в которой координаты на экране компьютера рассматриваются как X (по горизонтали), Y (по вертикали) и Z (глубина, т. е. входящие или исходящие из экрана)
Свойство Transform определяет позицию, поворот и масштаб любого GameObject. Unity использует левостороннюю систему координат, в которой координаты на экране компьютера рассматриваются как X (по горизонтали), Y (по вертикали) и Z (глубина, т. е. входящие или исходящие из экрана).
В разработке игр весьма распространено использование векторов, о которых я подробнее расскажу в следующих статьях. А пока достаточно сказать, что Transform.Position и Transform.Scale являются объектами Vector3. Vector3 — это трехмерный вектор; иначе говоря, в нем не более трех точек: только X, Y и Z. Манипулируя этими тремя простыми значениями, вы можете задавать местонахождение объекта и даже перемещать его в направлении вектора.
Свойство Transform определяет позицию, поворот и масштаб любого GameObject.
Окно редактора Unity
Окно редактора разделено на несколько разделов. Unity Game Objects — просмотр сцены: позволяет размещать и перемещать объекты GameObject в сцене и является основным строительным блоком проекта в игровом движке Unity. Все, что разработчик помещает на сцену в Unity, должно быть заключено в «игровой объект». Если у пользователя есть опыт веб-дизайна, он может использовать его в GameObjects, как элементы – контейнеры. Они легко расширяются для создания сложных функций или визуальных эффектов. Создание Иерархии происходит так же, как и в веб-разработке. Логика вложения игровых объектов во многом аналогична веб. Чтобы добавить контейнерам функциональности, прибавляют компоненты, которые, по сути, являются скриптами, написанными на C # или Javascript. Unity работает с моделью Actor Component, проще говоря, GameObjects — это актеры, а Components — сценарии.
Создание настраиваемого окна редактора заключается в следующем:
- Создается сценарий, полученный из окна редактора.
- Используется код, чтобы активировать окно.
- Реализуется код GUI для пользовательского инструмента.
Для создания «Окна Редактора» пользовательский скрипт нужно сохранить в папке с именем «Редактор». Создают в этом скрипте класс, производный от «Окна Редактора». А после прописывают элементы управления GUI в функции OnGUI внутри.
Первые шаги использования Unity
Начинают работу с наиболее простого — загружают и настраивают Unity. Закачку свежей версии выполняют с официального сайта, после чего запускают установку. Редактирование в Unity 4 и выше выполняет редактор MonoDevelop. Для тех, кто использует Windows, специалисты рекомендуют применять в качестве альтернативы Visual Studio 2013 (C#), после этого в опциях движка меняют его по умолчанию.
При запуске Unity у пользователя будет кнопка для создания нового проекта — New Proyect. Ей присваивают имя и выбирают вариант 2D. Unity откроет проект, и если по какой-то причине на ПК не загружена последняя версия, движок предложит обновление.
Далее появится экран, разделенный на различные рабочие области окна, организованные определенным образом в макет:
- Сцена — это место, где происходит игра, а разработчик добавляет спрайты и ресурсы для взаимодействия друг с другом.
- Иерархия — тут расположены все спрайты, объекты и ресурсы, добавленные на сцену, но сгруппированные по иерархии.
- Инспектор — при выборе объекта из «Сцены» или «Иерархии» он сообщает все его детали и характеристики: положение, размер и другие.
- Проект — здесь отображаются доступные ресурсы — активы игры.
- Кнопки симуляции — именно они позволяют начать проект или приостановить его.
- В разделе «Ресурсы» находятся ресурсы, которые будут использованы в игре. Вначале эта область будет пустой, но можно заполнить ее изображениями, если добавить спрайты.
Перед тем как перенести ресурсы в проект Unity, лучше распределить их по папкам. Затем можно легко переносить их, щелкнув правой кнопкой мыши на «Активы» и выбрав «Показать» в Проводнике. Далее заходят в папку «Активы» и копируют туда нужные ресурсы. В проекте также есть возможность использовать хранилище ресурсов: Window-> Asset Store или нажав Ctrl + F9.
Разметка и панели Unity
Перед вами пустая страница. С ней вы и будете работать, но вам потребуется время, чтобы настроить интерфейс в соответствии со своими конкретными нуждами. Лично мне удобнее, когда консоль находится рядом с игровым экраном, но если у вас маленький монитор, вы можете заменить панели вкладками.
Прежде чем перейти к созданию игры, уделите несколько минут, чтобы подготовить свой проект и сцены.
Чтобы держать все под рукой, советуем создать папки во вкладке Project (Проект). Эти папки будут созданы в папке Assets вашего проекта.
Внимание: папка Assets – это место, где хранится все, что вы добавляете во вкладке Project. Она может быть невидимой в Unity, в зависимости от выбранной разметки вкладки (одна или две колонки), но вы сможете увидеть ее, открыв приложение для экспорта файлов.. Вот пример структуры, которую мы используем в наших проектах
Вы можете адаптировать ее под свои предпочтения
Вот пример структуры, которую мы используем в наших проектах. Вы можете адаптировать ее под свои предпочтения.
Графические ресурсы для видеоигры
Графика в видеоиграх очень важна, потому что именно она привлекает внимание потенциальных клиентов для загрузки игры. Если в проекте будет стоять уродливая графика, никто не выберет такую игру, даже если у нее шикарный игровой сценарий
После выбора темы пользователю потребуется графика персонажей (спрайтов) и фон. Он может создавать их сам или скачать с интернет-страниц. Популярные графические ресурсы для загрузки: Spriter ресурс, Vxresource, Jpengameart, Gamedev и некоторые другие. На сайте Unity также есть раздел, где можно купить и скачать бесплатные ресурсы видеоигр. Для загрузки звуков обычно используют Freesound и находят в Google бесплатные звуки и музыку.
Многие изображения спрайтов формируются из столбцов и строк одного и того же повторяющегося изображения, но с небольшими изменениями. Обычно каждая строка представляет собой набор рисунков, которые создают определенную анимацию спрайта, например в данном случае строка 1 — кукла, двигающаяся вниз, 2 ряд — слева, 3 — справа и 4 — сверху. Таким образом, на одном изображении имеются все анимации персонажа.
Простая 2D-видеоигра состоит в основном из анимированных спрайтов — двигающихся кукол, неподвижных объектов, с которыми спрайт может взаимодействовать и которые могут быть анимированными, а также платформы – неподвижных объектов и фонов.
Во многих видеоиграх средства используются Параллакс — фоны расположены в несколько слоев, которые движутся с разными скоростями относительно друг друга, чтобы дать ощущение глубины перемещения. Они придают игре фон изумительной красоты и динамичности.
Кратко об игровом движке Unity
Unity Technologies выпустила Unity летом 2005 года. После этого события создание 2D-игр стало невероятно простым и быстрым. Сообществу было представлено три основных инструмента, способных сделать программу доступной для оформителей и разработчиков: Tilemap Editor, Timeline и Cinemachine. Редактор Tilemap был выпущен немного позднее и позволил программистам рисовать непосредственно в Unity.
Tilemap Editor дает возможность создавать обширные и сложные Tilemaps без использования сторонней программы. Редактор шкалы времени и Cinemachine были выпущены практически одновременно, хотя серьезные улучшения для Cinemachine были представлены сообществу позже.
Cinemachine — это набор камер, позволяющих создавать ролики. Инструмент демонстрирует, как камера отслеживает игровой объект, и предлагает лучший вариант. Редактор временной шкалы — инструмент, который позволяет пользователю создавать сценарии игровых объектов, подобных редактору фильмов. С помощью этих двух инструментов он может воссоздавать потрясающие композиции и написать любой код.
Прежде чем начать работать с движком Unity, пользователь должен пройти онлайн-обучение, чтобы понять его основы, навигацию по интерфейсу с использованием трех основных инструментов манипулирования: Translate, Rotate и Scale, научиться создавать префабы, добавлять и изменять компоненты внутри «Инспектора».
Для того чтобы творить с движком Unity 2d-игры, на пользовательском компьютере должны быть установлены Unity и некоторые 2D-приложения, такие как Ps, Gimp, SketchPad или MS Paint. Также разработчик должен хорошо разбираться в основах C #, таких как создание переменных, их изменение и вызов функций. Технические требования:
- Компьютер с Windows 7 SP1 или выше либо macOS 10.12 Sierra и выше.
- Доступ в интернет для загрузки бесплатной версии Unity.
Хотя Unity изначально имела бесплатную версию, но многие из опций, например помощь публикации для мобильных устройств, были доступны только в платной версии. С выходом Unity 5 ее философия изменилась, а ограничения увеличились. Бесплатных функций стало намного меньше, что существенно снижает ее преимущества.
Изучение интерфейса Unity
Рабочая область разделена на четыре части, где пользователь может организовать свой процесс создания проекта. Окно иерархии с левой стороны показывает все объекты, которые в данный момент находятся на сцене. В окне сцены должны строиться и размещаться игровые объекты.
Внизу есть еще одна рабочая область, где можно закрепить различные вкладки в удобной области. Главное окно редактора состоит из окон, которые можно переупорядочить, сгруппировать или отсоединить и свернуть. Это означает, что внешний вид редактора может отличаться в зависимости от проекта, личных предпочтений разработчика и типа выполняемой работы. Расположение окон по умолчанию обеспечивает удобный доступ к наиболее распространенным окнам.
Окно проекта (Project) показывает пользовательские библиотечные активы, которые доступны для использования, когда разработчик импортирует активы в свой проект.
Вид сцены (Scene View) позволяет разработчику осуществлять визуальную навигацию и редактирование. Он может отображать двухмерную или трехмерную перспективу, в зависимости от типа проекта, над которым работает.
Окно Иерархии (Hierarchy) представляет собой иерархическое представление текста для каждого объекта в сцене. Каждый элемент в сцене имеет запись в иерархии, так что два окна неразрывно связаны между собой. Иерархия структуры показывает, как объекты сгруппированы друг с другом.
Окно Инспектора (Inspector) позволяет просматривать и редактировать все свойства выбранного объекта. Так как объекты имеют различные свойства, макет (дизайн) и содержимое Окна Инспектора будут меняться.
Заключение
Эта статья была обзором архитектуры и процессов в Unity. Я рассказал об интерфейсе, основах назначения кода, объектах GameObject, компонентах, Mono, .NET и о некоторых других вещах. Это позволит мне в следующей статье углубиться в сборку компонентов для двухмерной игры. Заглядывайте в Microsoft Virtual Academy, где в конце лета я собираюсь устроить двухдневное мероприятие по обучению Unity. И следите за региональными мероприятиями на unity3d.com/pages/windows/events.
Адам Тьюлипер (Adam Tuliper) — старший идеолог по технологиям в Microsoft; живет в солнечной Южной Калифорнии. Разработчик инди-игр, один из администраторов Orange County Unity Meetup и автор на pluralsight.com. Скоро в его семье появится третий ребенок, так что связывайтесь с ним, пока у него еще есть свободные минуты, по адресу adamt@microsoft.com или через .
Выражаю благодарность за рецензирование статьи экспертам Мэтту Ньюмену (Matt Newman) из Subscience Studios, Хайме Родригесу (Jaime Rodriguez) из Microsoft и Тоутвидасу Цилису (Tautvydas Žilys) из Unity.