October 27, 2018

Будущее Unity в 2019

Осенний Unite 2019 прошел. Самое важное было показано вне стрима, поэтому подборка основана преимущественно на информации с закрытой презентации Product Roadmap. И да, подписывайся на Геймдев, который мы заслужили.

Visual Scripting

Да, в конце 2019 года Unity получит инструменты визуального программирования. Лучше поздно, чем никогда. Превью планируется во втором обновлении 2019 (ориентируемся на лето).

  • Расширяемые ноды. Обещается просто создавать кастомные пакеты нодов (что, кстати, довольно сложно делать в UE4).
  • Умный контекстный поиск, заметки и цветовая группировка.
  • Визуальный трейсинг для помощи в восприятии.
  • Live-editing (возможность редактировать во время игры).

По моему скромному мнению выглядит намного красивее Blueprint. Какие у вас мысли? Единственная ложка дегтя — стабильная версия будет в конце 2019 года (а, зная Unity, возможен и 2020).

Package Manager

Первое обновление пакетного менеджера будет уже в этом году в стабильной версии Unity 2018.3. Обновят интерфейс и UX, добавят поиск по имени, версии или статусу (preview, stable, etc.). Также можно будет ставить локальные и кастомные пакеты.

2019 год принесет чуть более полезные нововведения в менеджер пакета. Наконец-то пакеты можно будет ставить напрямую из git-репозитория — больше никаких скачиваний архивов.

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

Package Manager получит, в кой-то веке, нормальную систему зависимостей, которая будет показывать вам, что требуется для того или иного пакета.

Также в конце-середине 2019 года до ума доведут систему публикации пакетов в Asset Store. Судя по всему, теперь это станет основным способом (и самым удобным) для разработки ассетов и плагинов.

Unity Hub

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

Unity Hub получит новый дизайн в начале 2019 года, а также интерфейс командной строки (CLI). Выглядит, кстати, неплохо.

В конце-середине 2019 года добавят продвинутые темплейты для проектов. Возможность сортировать их по категориям, искать нужные, а также добавлять свои собственные (очень и очень полезно для всяких джемов).

Список проектов также получит кое-какие улучшения:

  • Поиск
  • Сортировка
  • Возможность добавлять проекты в избранное
  • Вариант просто убрать проект из списка или удалить навсегда

Помимо этого для проектов можно будет без труда настроить VCS, сервисы Unity и кеш-сервер.

Редактор Unity — UX

В этом году особо чего-то нового ждать не стоит. Поменяют меню настроек, собрав все-все-все вещи в одно место (потому что до этого был полнейший бардак).

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

В середине 2019 чуточку (совсем чуточку) улучшат окно консоли. Дадут возможность кликать на стек-трейс, искать в логах и чистить окно во время билда (странно, что до этого такой возможности не было).

А вот это действительно вкусно и, если сделают как и обещали, очень, очень улучшит жизнь разработчиков. Собираются полностью переписать пайплайн импорта ассетов: завезут параллельный импорт, генерацию графа зависимостей (чтобы у вас не тянулось с диска все подряд и беспорядочно) и импорт on-demand (чтобы просто не тянулось все с диска).

Что, в перспективе, это может изменить? На самом деле многое. Наконец-то пропадет одна из главных проблем Unity — открывание тяжелых проектов по полчаса (или зависание и краш на середине импорта, хех).

Будем наблюдать, чего они там намутят.

Новый интерфейс редактора (йеее бой)

Ну что, девелоперы, дождались? Как и было рассказано пару месяцев назад — нас ждет современный дизайн, который уже напрашивался последние пару лет.

Из вкусного:

  • минималистичный дизайн (БЕЗ ГРАДИЕНТОВ)
  • новые иконочки с поддержкой HDPI
  • Roboto как новый шрифт для лучшего скейла

Из мелкого: изменяемый размер текста редактора обещают подвезти к концу 2019. Какой-то Improved Keyboard Access просто обещают с маркером "когда-нибудь в 2019".

Project Tiny для tiny девелоперов

Tiny Mode уже в декабре 2018. Про это я рассказывал пару месяцев назад. Вкратце напоминаю.

Unity делают специальный runtime, который позволит укладывать мелкие игры (в основном на HTML5) в 100КБ-5МБ размеры. Для чего? Либо для легковесных проектов, если вам очень важен размер, либо для instant apps. Юзкейс: вам нужно сделать в магазине гугла кнопку, которая позволит загрузить уровень вашей игры без скачивания самой игры, чтобы человек поиграл и понял, интересно ему или нет.

Tiny Mode можно будет скачать через менеджер пакетов.

  • Подходит для размера бюджета в 100КБ-5МБ.
  • Новый модульный рантайм, который использует архитектуру ECS (Entity Component System).
  • Оптимизированный workflow редактора (хз че они под этим подразумевают).
  • Хорошая производительность на широком спектре мобилочек.
  • Поддержка 2D HTML5 и даже 3D и AR в будущем.

Программисты тут?

Все на месте. Обновления завезли — получайте.

Судя по всему, ECS, Burst и Job System обзавелись некой стабильностью внутри Unity, поэтому они решили переписать очень много внутренних систем под эту архитектуру. В течение всего 2019 года нас ждут всякие вкусности.

  • Scene-streaming, который должен был быть уже как пару лет, но лучше поздно, чем никогда.
  • Entity Scene Editing, боюсь предположить, что это такое. Возможно, что "оптовое" редактирование сцен.
  • Промежуточный рендеринг для ECS
  • Релиз проекта MegaCity в течение 2019. А это очень крутая штука, посмотрите на видео снизу (Начиная с 1:39:12).

Для тех, кто не хочет смотреть, рассказываю. В видео показан огромный город, в котором в реальном времени и в 60FPS (верим на слово) рендерится огромное количество всего. Немного цифр:

  • 100 000 источников звука
  • 5000 динамических машин, управляемых ИИ, которые избегают столкновений друг с другом и игроком
  • 4 500 000 меш-рендереров
  • 200 000 объектов (отдельных объектов) на каждое здание

А потом они берут и запускают все это дело на iPhone X.

Середина 2019 принесет нам первый стабильный релиз Burst. Обещают поддержку подо все платформы.

К концу этого года завезут memory profiler. Помимо этого обновят PhysX с 3.3 до 3.4 (там есть существенный прирост производительности), добавят Job System для физики.

Фреймворк для написания и расширения интерфейса редактора выйдет в середине 2019 с релизом 2019.2 и будет какое-то время допиливаться. С помощью этого фреймворка очень легко писать расширения и свои окна редактора, так как вся логика разделена на три категории: отдельно делаем окошки, отдельно стили под них, отдельно поведение. В общем, все как в вебе. Вместо HTML будет UXML, вместо CSS — USS, а вместо JS — C#.

Человеческая система ввода придет в 2019.1. Нативная поддержка action map, action sets, bindings, combos (да, из коробки можно прописывать цепочки действий через WYSIWYG-редактор). Будет идти в качестве пакета и в опен-сорс. Если что, можно будет расширять своими силами.

Плюшки для аниматоров

В 2019.2 выйдет C# Animation System, основанная на C# Job System и ориентированная на производительность. Ну че, может теперь Тарков перестанет тормозить, у них же там из-за анимаций спайки, как они говорят?

В 2019.3 выйдет Kinematica. Штука позволяет не делать вручную анимации, а заставляет ИИ делать их за вас. Выглядит, по-моему, как глупый гиммик.

Не забыли и про 2D. Анимации 2.0 приедут в конце этого года. Завезут работу с multi-sprite и костную анимацию из коробки.

Важные обновления для 2D

В конце года добавят поддержку изометрических тайлов для тайлмапа.

Но самое интересное будет в начале 2019 года: наконец-то, спустя столько лет, 2D обзаведется нативной системой освещения и тенями. Это, действительно, очень полезная вещь, которая давно напрашивалась. Ура!

Из мелкого — улучшат генерацию коллайдеров для спрайтов.

Улучшения аудиостека (dolbit normalno)

Во-первых, в начале 2019 года добавят C# Audio System (опять же основанная на C# Job System) и DSP-граф в стадии экспериментальной версии. По заверениям разработчиков, новый аудиостек будет работать в 100 (!!!) раз быстрее, чем старая система. Стек сможет с легкостью декодировать 1000 vorbis-файлов одновременно.

Стриминг и декодинг аудио будет lock-free и больше никогда не сможет блокировать основной поток.

DSP-граф будет низкоуровневым API. Работать он будет просто: каждый нод графа либо производит звук, либо обрабатывает его. Все эти ноды — обычные C# Jobs. Сам граф — направленный ациклический, то есть все ноды выполняются по порядку слева-направо и выводят свой результат в следующий нод, пока в конце не дойдут до вывода. Вывод может быть перенаправлен в новый граф или даже в другую библиотеку аудио. Интересно, можно ли будет направить вывод на VST-плагин?

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

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