Несколько дней назад команда Unity’s Demo Team представила тизер нового впечатляющего демо, демонстрирующего способности новой версии движка Unity 2018.1.
Для многих релиз Unity 2018 будет настоящим событием — в движке наконец-то появятся долгожданные Scriptable Render Pipeline (SRP) и C# Job System. SRP позволит опытным разработчикам при помощи C# и шейдеров материалов настраивать конвейер рендеринга, а C# Job System — писать безопасный многопоточный код на C#.
Scriptable Render Pipeline энтузиасты ждали давно, так как предполагается, что данная фича делается под современные модели GPU и позволит выжать из них гораздо больше, чем морально устаревший встроенный конвейер Unity. Ранее разработчикам приходилось идти на различные ухищрения, чтобы добиться от него хороших результатов. К примеру, одна из самых популярных игр на Unity, Cities: Skylines, стало возможным технически реализовать благодаря тому, что у разработчиков был доступ к исходному коду движка и они смогли внести необходимые изменения в механизм рендеринга (наверняка не обошлось и без привлечения специалистов самой Unity).
Для создания технологического демо команда прибегла к фотограмметрии — текстуры и объекты были взяты из реального мира; большинство ассетов взято из библиотеки Quixel Megascans, а свои собственные ассеты были созданы при помощи Delighting Tool — экспериментального инструмента, созданного Unity Labs (инструмент можно забрать с Github).
Безусловно, часть пользователей Unity могут отпугнуть широкие возможности перспектива необходимости самостоятельной конфигурации rendering pipeline. Для них в движке будет доступно несколько пресетов, начиная с Lightweight и High-Definition — первый предназначен для кросс-платформенной разработки, второй — для high-end настольных компьютеров и консолей. Впрочем, некоторое можно будет продолжать пользоваться старым добрым встроенным rendering pipeline.
Также в движке появится свой собственный визуальный редактор шейдеров Shader Graph, а если вы работаете с Substance Designer, то вас ждет еще один сюрприз: поддержка импорта материалов будет удалена из редактора, и вам нужно будет установить из Asset Store плагин от Substance (про это почитать можно здесь).
Под соусом фичи C# Job System маркетологи Unity обещают программирование под многоядерные процессоры без головной боли, во многом благодаря некоей новой экспериментальной системе Entity Component System. Если вам интересно больше узнать про C# Job System, вашему вниманию предлагаются следующие доклады (бонусом можно почитать данный тред в Twitter):
Для работы над Unity 2018 к команде Unity присоединились инженеры и художники из Insomniac, Bungie и Naughty Dog; всего в компании сегодня трудится свыше 1000 человек. Подробнее про Unity Demo Team, Веселина Ефремова и прошлые демо на Хабре писали ранее.
Некоторые другие подробности создания демо доступны на сайте Unity.
Первая бета-версия Unity 2018.1 уже доступна всем желающим, новые фичи будут постепенно выкатываться в бетах, а релиз состоится в ближайшие несколько месяцев. Более подробный Roadmap можно почитать по ссылке.
Обновление. Сегодня Robert Cupisz приоткрыл завесу тайны технической стороны демо в своём Twitter.
Комментарии (10)
Sazonov
18.01.2018 16:33Новая, экспериментальная, никому не известная Entity Component System. Маркетологи такие маркетологи...
HotWaterMusic Автор
18.01.2018 17:02Дело там вот в чём. Оригинальная архитектура Unity была component-based, у подобного подхода были недостатки, которые активно проявили себя в течение 15 лет. Теперь переписали всё под data-oriented design с оптимизацией под кэширование. Труд значительный, но к сожалению евангелисты это упоминают вскользь, везде делая акцент на многопоточность и job system.
Как поёт одна моя любимая группа:
Take me down to cache hit city where the grass is green and the performance is pretty.Suvitruf
19.01.2018 01:25Я так понял, претензия к корявому переводу. Entity Component System — это не экспериментальная система, это экспериментальный компонент, который лежит в пространстве имён
UnityEngine.Experimental
.
Sazonov
20.01.2018 12:45Да, труд действительно значительный. Помню, когда движок dava переводили на data-drived подход тоже было очень много изменений, хотя визуально в игре ничего не поменялось. И, наверное, это был самый большой и сложный code-review на моей памяти, который делали всей командой (сам я в задаче по рефакторингу не участвовал, занимался тогда другими вещами).
Как выше написали — действительно претензия к корявому переводу :)
shai_hulud
18.01.2018 16:47+1Понравилась фраза «на случай если Burst компилятор не будет работать, вы сможете убрать атрибут...». Ох, парни, нельзя там на презентации продукта.
VaalKIA
18.01.2018 22:09Трава выглядит шикарно, но более крупные растения шевелятся невпопад, особенно сосны, гребущие ветками как рабы на галерах, недеюсь это не конструктивный недостаток, не позволяющий привязаться к единой волновой функции.
Torvald3d
19.01.2018 15:05Лучшая анимация травы, что я видел. Можно где-то посмотреть как создавалось демо, туториалы и тп?
AxisPod
Видимо напугались корявейшего Xenko и решились на разработку SRP