История игровых движков №4 - Unity 3D

unity-logobg.png
«Powered by Unity» — такую табличку при запуске игры видели, я думаю, большинство людей, хотя бы изредка заходящих в игры. И это не удивительно — на данный момент движок позволяет писать игры под 25 платформ: от Windows, Linux и macOS, мобильных платформ и консолей до различных VR и Smart TV:

Снимок.PNG

История появления — Unity 3D 1

Первая версия была создана в июне 2005 года тремя людьми: Дэвидом Хелгасоном, Джошимом Анте и Николасом Френсисом. Их целью было создание доступного любительского движка с удобным графическим интерфейсом, и первая версия движка имела схожий с Final Cut пользовательский интерфейс, работающий по принципу drag-and-drop (то есть перетягивание элементов между подменю программы). Изначально Unity работал только под macOS, однако разработчики отлично понимали, что доля яблочной ОС на рынке невелика, а уж создателей игр на ней вообще мало. Поэтому первое глобальное добавление, появившееся в августе 2005 в версии 1.1 — это возможность сборки игр под Windows и поддержка плагинов C/C++. Однако на тот момент полноценным игровым движком Unity назвать было трудно — он не поддерживал множество графических эффектов и подходил разве что для создания качественных анимаций. Разработчики исправили это недоразумение в версии 1.2 от декабря 2005 года — добавили эффекты постобработки, рэгдолл, тени, встроенный скрипт управления персонажем, расширили возможности редактора скриптов. После этого движком стали интересоваться инди-разработчики — поэтому выросло количество ошибок со старыми видеокартами и системных проблем с драйверами, которые создатели движка фиксили еще год. Последняя версия — 1.6.2 — вышла в мае 2007: да, до CryEngine 2 того же года она не дотягивала, однако создавать простые игры на Unity уже тогда было удобно, да и основные ошибки уже были исправлены. Графический интерфейс и игры на Unity 1 выглядели так:

picture1_600.jpg

Unity 3D 2 и Unity iPhone

В октябре 2007 команда разработчиков выпустила вторую версию движка. Основные изменения — добавление полноценной среды разработки под Windows (в версии 2.5, март 2008) , а так же улучшенный веб-плеер. Так как macOS использует API OpenGL, а Windows — в основном DirectX, разработчики добавили поддержку последнего в версию для Windows — по их словам, это привело к 30% увеличению скорости работы. Так же была добавлена поддержка веб-стриминга, мягких теней реального времени, Terrain Engine (часть движка, которая отвечает за отрисовку земли), а так же полностью переработали GUI (графический интерфейс пользователя). В Unity 2.6 (октябрь 2009) Indie-версия движка стала бесплатной и появилась версия для Wii.

Движок изначально был нацелен на macOS, и поэтому неудивительно, что с выходом iPhone движок оптимизировали и для него. Он развивался самостоятельно на протяжении 2 лет: с октября 2008 до апреля 2010, после чего был объединен с Unity 3D 3. За два года вышло 8 версий — добавили поддержку .NET 2.1, возможность работы с сетью и поддержку iPad. Движок использовал API OpenGL ES до версии 2.0. Одной из лучших игр на Unity iPhone можно считать шутер Shadowgun — он демонстрировал действительно высокодетализированную картинку и множество красивых эффектов:

unnamed.jpg

Unity 3D 3

Третья версия вышла в сентябре 2010. Изменений много — теперь все элементы редактора можно менять местами как удобно, улучшили карты освещения, добавили: возможность отложенного рендеринга, Umbra occlusion culling (отрисовка только тех объектов, которые видны на экране), низкоуровневую отладку и FMOD аудио фильтры (возможность проигрывать разные аудиоформаты на разных платформах без конвертации). В это же время компания EA заинтересовалась движком и подписала с Unity Technologies контракт о многолетнем сотрудничестве, а количество зарегистрированных разработчиков превысило 200 000.

В декабре 2011 вышла первая версия Unity 3.5. Основные нововведения — возможность работы с Adobe Flash и публикация игр в формате .swf. Так же добавили новую систему частиц (которая теперь умеет взаимодействовать с тенями и светом), поддержку HDR (расширенного динамического диапазона), LOD (Levels Of Detail — возможность отрисовки далеких объектов с худшей детализацией для экономии ресурсов), а так же мультипоточный рендеринг (использование возможностей многоядерных процессоров). Окно редактора Unity 3.5 с запущенной тестовой игрой-демонстрацией способностей движка AngryBots:

screenshot_Unity 3D_abbe-b5a2c62669af.jpg

Unity 3D 4

Новая версия вышла в ноябре 2012. Из основных изменений — движок научился работать под Linux. Так же была добавлена поддержка API DirectX 11, улучшена система анимации (добавлен скиннинг на GPU) и освещения. 

Следующий глобальный релиз, Unity 4.3, вышел через год, в ноябре 2013: введена поддержка 2D-спрайтов и интегрирован физический движок Box2D — если раньше разработчикам приходилось делать «фальшивый» 2D, размещая плоские текстуры на плоскости в пространстве, то теперь есть возможность работать не с пространством, а только с плоскостью. Так же создатели Unity сделали жизнь разработчикам мобильных игр проще — теперь есть возможность собирать игры для iOS в версии движка для Windows. Одной из самых красивых игр на Unity 4 является пошаговая стратегия Endless Space:

image.jpg

Unity 3D 5

Самая новая версия движка, развивается с марта 2014 и по сей день. Количество зарегистрированных разработчиков превышает 3 миллиона — в основном потому, что Indie-версия движка бесплатна. Для тех, кому нужны дополнительные возможности, есть версия Plus и Pro (35 и 120 долларов в месяц), а так же есть возможность собрать редактор самому и договориться с разработчиками о цене.

В Unity 5 добавили и добавляют достаточно много, это пожалуй, крупнейшей релиз за все время существования Unity:
  • Новые инструменты графического интерфейса отдельно для 3D и 2D игр.
  • Полноценный звуковой редактор (можно в реальном времени объединять различные звуки, добавлять эффекты, связывать их с событиями в игре).
  • Поддержка WebGL — игры работают напрямую в браузере без установки веб-плеера.
  • Глобальное освещение в реальном времени для консолей нового поколения, ПК и мобильных платформ.
  • Отражение света в реальном времени на основе Reflection Probes.
  • Физически корректные материалы (к примеру кусок дерева теперь плавает в воде сам, без дополнительных скриптов).
  • Новые возможности 2D физики: точечные силы притягивания и отталкивания; тангенциальные силы (силы, направленные по касательной к поверхности объекта); силы, направленные вдоль любых осей; одностороннее столкновение.
  • Отслеживание загрузки процессора, видеокарты и памяти на временной шкале в режиме реального времени.
  • Добавление полноценного 64х-битного редактора.
  • Интеграция Terrain Speedtree.
  • Добавление новых API для 2D физики и редактора анимации в Box2D, обновление 3D физики до nVidia PhysX3.
  • Просмотр сцен в HDR-режиме.
  • Настройки для рендера сцены с помощью заполняющего (Ambient) света.
  • Улучшена работа LOD (теперь нет падения производительности для непропорционально скейлированной геометрии).
  • Новые формы для препятствий Nav Mesh и сжатые текстуры для Cubemaps.
  • Поддержка джойстика для Windows Store.
  • Внутриигровая реклама без сторонних плагинов (к сожалению — трудновырезаемая, так как зашита в саму игру в виде текстур и показывается даже без наличия интернета).
  • Повторяющаяся анимация может передвигать персонажа.
В Unity 5.1 в июне 2015 в основном исправили ошибки и сделали поддержку VR (виртуальной реальности) — на первых порах только Oculus Rift. В сентябре того же года вышло минорное обновление 5.2 — добавлены новые возможности для разработчиков приложений под Android, для работы со звуком добавлена поддержка Spatialization API для модулей расширений аудио. В версии 5.3 (декабрь 2015) изменений уже больше:
  • Новые инструменты: обновленный MonoDevelop, одновременное редактирование нескольких сцен, инструменты для 2D, автоматическое тестирование.
  • Оптимизация графики, включая новое ядро OpenGL, экспериментальная поддержка Metal в OS X и обновленная система частиц.
  • Улучшенная поддержка WebGL и iOS 9.
  • Поддержка интегрированных внутриигровых покупок.
  • Добавлена экспериментальная поддержка DirectX 12.
В 5.4 (август 2016) улучшили графический рендер, повысивший качество визуальной составной (например, теперь нет шумов в затененных областях). Значительно доработана и улучшена поддержка VR-платформ. Добавлены настраиваемые частицы, новые зеркальные эффекты, улучшен импорт графики. Самым крупным нововведением в последней на данный момент Unity 5.5 (ноябрь 2016) стала поддержка Microsoft HoloLens (очков дополненной реальности от Microsoft).

Игр на Unity 5 вышло много: это красивейший «симулятор леса» The Forest:

1472053362_budynek.jpg

Приключенческая игра Firewatch:

image (1).jpg

И даже всем известный Pokemon Go тоже работает на Unity — количество проектов переваливает за сотню.

Будущее движка

На данный момент это один из самых быстроразвивающихся движков, разработчики которого постоянно улучшают его и внедряют новые функции. О следующем глобальном релизе говорить еще рано, а вот о следующем минорном апдейте — 5.6 — уже известно много (он сейчас в бета-версии): поддержка 4К 360 градусов видео, API Metal в редакторе под macOS, а так же множество улучшений по работе с 2D. С учетом того, что в лицензия на движок стоит очень дешево (до 120 долларов в месяц с человека — к примеру, лицензия id Tech на одну игру продавалась за 250 000 долларов) — количество инди-игр на нем огромно и будет постоянно расти, а значит нас ожидает множество качественных игр.
6

Будь в курсе последних новостей из мира гаджетов и технологий

Мы в соцсетях

Комментарии