Игровой движок Unity: почему его выбирают

Unity – это игровой движок для создания мобильных и компьютерных видеоигр.

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

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

Что такое Unity?

Unity – движок, среда, платформа для разработки игр, объединяющая в себе ряд инструментов для облегчения работы.

Состоит из визуального редактора, редактора кода, инструмента для написания скриптов – логики поведения объектов. Она позволяет вносить изменения, не покидая сцену, и в реальном времени оценивать их результат.

Содержит инструменты для создания точных трёхмерных копий реальных объектов и пространств (комнат, зданий, открытой местности).

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

Возможности Unity

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

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

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

Имитация физических явлений и объектов на основе частиц (атмосферные осадки, огонь, отражения) проводится с задействованием разработки от Nvidia PhysX.

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

Игровой движок Unity: почему его выбирают
Построение физической модели

Благодаря использованию С # начинающий программист сможет писать всевозможные скрипты – крохотные программы, куски кода, задающие поведенческие реакции объектов на события, явления – создавать квесты с разветвленной структурой.

Настраиваемый под разработчика интерфейс с поддержкой Drag&Drop упрощает работу над сценами, их отладку и редактирование без переключения между окнами.

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

Последние можно как создавать с нуля, так и редактировать имеющиеся. Средство для создания трёхмерной анимации поддерживает её импорт с Blender, 3DsMax и прочих 3D-редакторов.

Для оптимизации нагрузки на оборудование разработчик предусмотрел опцию Level Of Detail.

Она снижает детализацию и качество прорисовки отдалённых объектов, а при приближении – прорисовывает их полностью. Алгоритмы Occlusion Culling не визуализируют объекты, расположенные вне поля зрения камеры, удаляют из памяти остающееся за спиной игрока.

Игровой движок Unity: почему его выбирают
Объекты за спиной удаляются из памяти

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

В Unity Asset Server есть инструменты для реализации мультиплеера. Система контроля версий с графическим представлением позволит откатить состояние проекта, отслеживать изменения между версиями. Unity работает с освещением: поддерживает трассировку лучей – создаёт реалистичную картинку путём отслеживания взаимодействия света с поверхностями. Работает со всеми современными графическими технологиями: DirectX 12, VRWorks, Vulkan, LiquidVR.

Особенности Unity

Платформа для образовательных целей и студентов распространяется бесплатно, но с рядом ограничений и условий. Новички ещё и начальный капитал на реализацию проекта могут получить. С каждым релизом в Юнити повышается эффективность программирования с учётом обновлений синтаксиса C#. Внедрение новинок в Unity способствует разработке функциональных интерфейсов с минимальным объемом кода для любой из поддерживаемых платформ.

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

Игровой движок Unity: почему его выбирают
Многоуровневая локация

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

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

Asset Store предлагает часть ассетов бесплатно. Разработчикам предоставляет возможность загружать в библиотеку Unity собственные разработки через редактор, продавать их.

Преимущества и недостатки

Движок обладает рядом положительных и отрицательных сторон.

К положительным относят:

  • Функциональный графический редактор – предусматривает создание локаций, моделей, расстановку объектов сцены с функцией тестирования результатов в реальном времени.
  • Кроссплатформенная среда разработки позволяет адаптировать проект для любой платформы путём внесения минимальных изменений. Минимизирует стоимость проекта.
  • Интегрированная среда разработки – программный комплекс для работы с движком, имея базовые знаниями программирования.
  • Поддержка плагинов – возможность установки компонентов, расширяющих возможности, повышающих удобство, скорость работы со средой.
  • Модульность – позволяет конструировать пакеты компонентов в одной игровой сцене.
  • Продвинутая методика создания объектов: вместо наследования путём размещения в древе они объединяются в функциональные блоки, что упрощает этап прототипирования.
  • Использование высокоуровневого языка C# с рядом готовых решений упрощает подключение программистов к разработке.
  • Качество поддержки – Unity сайт содержит описание всех функций движка, примеры их применения с пояснениями. Служба поддержки оперативно отвечает на вопросы.
  • Бесплатная эксплуатация для применения в личных и образовательных целях.
  • Сообщество – продвинутые пользователи всегда подскажут, помогут советом. На тематических форумах и блогах полно информации по Unity.

Недостатки платформы:

  • Проблемы при разработке многокомпонентных проектов из-за ограничений визуального редактора.
  • Сложности в подключении внешних плагинов – из-за отсутствия ссылок на них в программе модули придётся искать, устанавливать и настраивать самому.
  • Проблематичное внесение изменений в шаблоны экземпляров.
  • WebGL-редакция отличается рядом проблем с быстродействием, работоспособностью и стабильностью.
  • Стоимость – Pro-версия стоит $1800, а Enterprise — $4000 – неподъёмная сумма для фрилансера, их группы, небольшой студии разработчиков.
  • Быстродействие, по сравнению с другими движками, при разрастании проекта.
  • Большой размер скомпилированного файла особенно для мобильных платформ.

Игры на Unity

На движке выпущены сотни мобильных, консольных, десктопных развлечений, игр с дополненной реальностью. Он применяется в архитектуре, строительстве, производстве (многими автогигантами, такими как Audi, BMW, Lexus, Volvo), при создании мультипликационных фильмов.

Игровой движок Unity: почему его выбирают
Игра с дополненной реальностью

С компьютерных игр отметим:

  • Cuphead – платформер в стиле экшена с мультяшной графикой.
  • Pillars Of Eternity – кроссплатформенная «ролевка».
  • My Friend Pedro – платформер с возможностью управления временем.
  • Rust – симулятор выживания.
  • Subnautica – симулятор выживания в море.
  • Valorant – многопользовательский шутер.
  • Death Carnival – динамичный шутер.
  • Escape from Tarkov – отечественная многопользовательская стрелялка с элементами RPG.

Мобильные развлечения на Unity: Age of Magic, Chaos Lords, Jurassic Monster World, Royal Blood, Guns of Boom, Pokemon Unite и Go.

Мультфильмы, созданные с помощью Unity: Dead Pixels​​​​​​​, Bonfire, Jigsaw.

Кому стоит использовать этот движок

Платформа рассчитана на начинающих геймдевелоперов и небольшие компании, которых функциональность простых продуктов вроде RPG Maker, Kodu Game Lab не устраивает, а ресурсов приобрести продвинутый движок нет. Unity применяется для создания видеороликов, реализации кроссплатформенных 2D-проектов (поддержка 2D появилась недавно) и масштабных проектов вроде The Elder Scrolls: Legends, Pillars Of Eternity. Также применяется для написания симуляций.

Игровой движок Unity: почему его выбирают
Разработка кроссплатформенной игры

Специалисты не рекомендуют выбирать платформу для AAA-игр из-за невысокой оптимизации C# – множество объектов и сложные сцены заметно снижают производительность. Для разработки простейшего кликера или платформера функциональность Unity излишня, лучше выбрать инструмент попроще, например, LibGDX.

Как работать в Unity

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

Первые шаги

Для реализации проекта на Unity определитесь с версией движка: Plus – 399 $ в год, Pro – 1800 $ за 12 месяцев, 4000 $ в год. Все отличаются по функциональности. Есть бесплатные версии для студентов аккредитованных учреждений и персональной эксплуатации – то, что нам нужно. Загрузите пакет с официального сайта и установите. После инсталляции в составе можно обнаружить Unity Hub, что же это за продукт и зачем нужен? Автономная программа, упрощающая управление проектами: поиск, выгрузку в облако, скачивание на компьютер, удаление, загрузку в редактор.

Игровой движок Unity: почему его выбирают
Создание проекта

Как создать свой проект

Для работы над первой игрой необходимо завести аккаунт Unity Hub.

  1. В запущенном приложении кликните «Create account», введите логин с паролем и авторизуйтесь в системе через браузер.
  2. Во вкладке «Projects» нажмите «New…», введите его название, выберите шаблон (у нас – 3D) и жмите «Create».
Игровой движок Unity: почему его выбирают
Работа над 3D-приложением

После загрузки проекта увидите список своих разработок.

Игровой движок Unity: почему его выбирают
Перечень доступных разработок

Здесь они добавляются, удаляются, копируются и переносятся в облако, на локальный диск.

Загрузится редактор.

Игровой движок Unity: почему его выбирают
Редактор Unity

Для добавления содержимого кликните правой клавишей в окне «Hierarchy», выберите тип и сам объект. Здесь же изменяется порядок размещения элементов среды.

Выделите предмет кликом (у нас это куб), и в правой панели «Inspector» отобразятся его свойства.

Игровой движок Unity: почему его выбирают
Свойства объекта

Благодаря ему путём изменения свойств из простейших геометрических фигур делаются игровые объекты.

На платформе применяется компонентно-ориентированный подход. Всё в сцене представлено игровыми объектами GameObject, состоящими из ряда компонентов:

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

Для управления видом сцены (перемещением камеры, масштабированием) пользуйтесь соответствующими кнопками на панели инструментов либо мышкой.

Игровой движок Unity: почему его выбирают
Выбор вида

Кликните по одной из осей и перетаскивайте её для изменения размера объекта в этом направлении.

Игровой движок Unity: почему его выбирают
Управление габаритами GameObject

Дальше придётся проявлять творчество, обращаясь к различным руководствам и видеоматериалам по Unity.

Создать 2D/3D-сцену с десятков объектов, придать им определённые свойства, связать задать условия взаимодействия можно в бесплатной версии Unity. Это популярнейшая платформа для разработки игр на компьютеры и мобильные устройства. Для написания сложных скриптов придётся постичь азы программирования на C#. Масса уроков и отзывчивое сообщество всегда подскажут решение проблемы. Видеоматериалы на русском языке упрощают обучение начинающим и опытным девелоперам. Компании, специализирующиеся на разработке игр, реализуют на платформе масштабные проекты вроде Deus Ex GO, Wasteland 3.

Айтистанция
Добавить комментарий