Каждое крупное обновление Unity – это большое событие для пользователей движка. До недавнего времени Unity Technologies выпускали свой продукт под стандартными номерными версиями, 1.0, 2.0 и т.д. В декабре 2016 года, компания заявила, что текущая основная версия Unity 5.6 будет последней в данной линейке, после чего Unity перейдет на новый формат обновлений. Новая версия будет называться Unity 2017, а следующие за ней версии будут нумероваться так: 2017.1.0, 2017.2.0 и т.д.
11 июля на официальном сайте компании появилась статья Introducing Unity 2017, которая включала ссылки на скачивание бета-версии продукта. В своем обзоре мы, естественно, будем прежде всего опираться на официальные источники, такие как упомянутая статья, но добавим также и кое-что из своих личных наблюдений.
Три кита, на которых стоит Unity 2017
Какие же самые яркие новшества принесет нам новая Unity? Сами разработчики акцентируют внимание на трех новых функциях: Timeline (временная шкала), Cinemachine (набор «умных» камер) и Post-Processing Stack (набор инструментов для пост-обработки). Давайте рассмотрим их более внимательно.
Timeline — очень удобный инструмент для создания анимации, который уже давно есть во множестве связанных с ней продуктов. С помощью Timeline можно быстро создавать анимации трансформации, анимации интерфейса и т.п. Все делается с помощью стандартных ключевых кадров, между которыми Unity сама меняет состояние ваших объектов.
Timeline — это отличная альтернатива и дополнение к стандартным клипам анимации. Особенно удобно создавать простые cut-сцены, интро и другие события, которые делают вашу игру более интересной. Кроме того, в Timeline можно работать с аудио и привязывать аудио-клипы к событиям.
Внешний вид Timeline
Cinemachine — набор умных камер, с помощью которых вы можете делать кат-сцены с использованием камер, ролики на движке, а также связывать все это с возможностями Timeline.
Вместе с Cinemachine в Unity впервые возникает понятие виртуальной камеры, с помощью которой вы можете мастерски управлять камерами на сцене и делать отличные переходы между сценами. Кроме того, виртуальные камеры дают возможность следовать за персонажем без использования скриптов типа SmoothFollow. Все доступно «из коробки».
Самое приятное — то, что Cinemachine позволяет делать множество эффектов связанных с камерами (тряска, качание и т.п) без использования сторонних Tween плагинов и без единой строчки кода.
Используя Timeline, можно осуществлять пролеты камеры над локацией, эффектные демонстрации персонажей и другие приемы, которые мы привыкли видеть в современных играх.
Пример работы следования за игроком и переключения ракурса по триггеру (удар по шайбе)
Следующий кит — Post-Processing Stack. Unity позиционирует этот инструмент как источник мощного функционала для дизайнеров, которые хотят улучшить визуальный ряд своей игры. Post-Processing Stack служит для добавления пост-эффектов. В прошлых версиях Unity уже была реализована такая возможность: пост-эффекты можно было добавлять на камеры в виде отдельных компонентов, но Post-Processing Stack — это единый механизм, в котором собраны и доступны для вызова все эффекты, такие как сглаживание, смазывание, свечение и т. п. Удобство этого инструмента в том, что вам больше не нужно обращаться к каждому из них отдельно. Вместо этого представлен стек эффектов, которые можно менять как угодно.
Внешний вид Post-Processing Stack и его результат работы
Еще больше для 2D
2D игры не устарели: сейчас они активно переживают свой ренессанс после бума инди-хитов. В Unity 4.3 впервые были добавлены 2D спрайты, а также физический движок Box2D; кроме того появилась возможность работы с 2D камерой. В Unity 2017 создатели заявили еще больше фишек для 2D разработчиков.
Во-первых, в Unity 2017 улучшили поддержку атласов. Раньше уже был Sprite Packer, но он имел некоторые недостатки и был весьма неудобным. На смену ему пришел Sprite Atlas.
В Unity 2017 атласы стали более простыми в использовании и понятными даже для начинающего разработчика. С помощью Sprite Atlas наконец-то можно с удобством (то есть простым drag&drop) создавать атласы, а также вытаскивать и менять спрайты на объекте прямо в рантайме.
Пример работы нового Sprite Atlas
Вдобавок наконец-то добавили маски для спрайтов! Раньше, маски были доступны только для UI компонентов Canvas, хотя очень пригодились бы и для 2D графики. И вот они появились. Очень приятно, что разработчики прислушиваются к сообществу.
Пример спрайт-маски
Совсем недавно, в версии 2017.1, были введены стандартные фигуры для PolygonCollider2D, которые помогут вам создавать быстрые физические 2D прототипы. Плюс, разработчики усовершенствовали систему 2D частиц и ввели систему шумов Перлина. Шумы были и раньше, но сейчас стало совсем хорошо.
Пример системы частиц с шумом Перлинга
Дальше — больше. В Unity 2017 появился компонент GameObjectRecorder, с помощью которого можно создавать массивы анимаций и записывать физические взаимодействия, а потом проигрывать их с куда меньшими затратами ресурсов (можно даже задом наперед!).
Пример работы записи физики
Как видите, Unity 2017 обеспечивает еще больше функционала для 2D разработки, так что не торопитесь хоронить 2D, он еще всем покажет.
Системные плюшки
Копнем немного глубже. Эти нововведения хоть и не радуют глаз, но очень полезны.
Первое: наконец-то подключили C#6 и .NET 4.6, пусть пока и экспериментально! Разработчики Unity довольно долго страдали от того, что работать приходилось на устаревшей версии 3.5 (а это 2007 год!). Теперь же с .NET 4.6 пришло множество фиксов, улучшений производительности и новые функции.
Не забудьте выбрать 4.6 в настройках (напоминаем, это еще нестабильная функция!)
Второе: добавлен Asset Bundle Browser, с помощью которого можно легко и удобно создавать ассет-бандлы для загрузки ваших ресурсов.
Новый браузер для бандлов
Дальше нужно упомянуть массивное обновление рендера. Тут и улучшение рендеринга частиц, и отложенное освещение для iOS с участием Metal/OpenGL ES 3, и еще вагон разных доработок. Кроме того, усовершенствована система отображения теней в реальном времени и работа с светом в целом. Подробности лучше посмотреть в статьях от Unity, здесь останавливаться на этом не будем. Но, в любом случае, очень приятно что продукт так активно развивается.
И это еще не все
Что еще? Много всего. Давайте пробежимся общим списком.
- Добавление механизма Analytics Event Tracker, с помощью которого можно быстро и не используя код добавлять события для отслеживания с помощью Unity Analytics.
- Появление Unity Teams, которое состоит из Unity Collaborate (вышла из беты) и Cloud Build. Теперь можно совместно редактировать сцены, скрипты и префабы в общем доступе. Дополнительно к этому Unity Editor обновили для более удобной работы с общими ресурсами.
- Добавление технологии Ambisonic audio для создания звукового окружения на все 360°. Можно будет использовать источники звука не только справа и слева от игрока, но и выше или ниже. Эта система также может использоваться в 360° видео.
- Добавление UI профайлера, который позволяет оценить, насколько грузит игру ваш интерфейс
- Улучшенная поддержка Visual Studio, включая Visual Studio для Maya
- Очень бодрое развитие VR и AR направления, про которое нужно писать отдельный пост
- Добавление Universal Windows Platform вместо Windows Store. Universal Windows Platform включает в себя билды для Xbox One, Windows 10, Windows Phone 10 и HoloLens
Заключение и полезные материалы
Как мы видим, Unity развивается очень быстро и с каждым релизом пытается охватить все более и более инновационные функции. Их главные козыри — простота разработки и мультиплатформенность с каждым годом становятся все более выраженными.
Так или иначе, мы очень рады прогрессу и постоянно следим за патч-ноутами, так что не за горами обзор новых функций Unity 2017.
А пока он в работе, можно почитать более детальные списки изменений и найти подробности о том, что наиболее полезно для вас.
Introducing Unity 2017
Roadmap новых фич
Unity для художников и дизайнеров (новые инструменты)
Видеообзоры новых инструментов Timeline и Cinemachine с конференции Unity Europe 2017
Автор: EverydayTools