Несколько дней назад команда 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).

image

Безусловно, часть пользователей Unity могут отпугнуть широкие возможности перспектива необходимости самостоятельной конфигурации rendering pipeline. Для них в движке будет доступно несколько пресетов, начиная с Lightweight и High-Definition — первый предназначен для кросс-платформенной разработки, второй — для high-end настольных компьютеров и консолей. Впрочем, некоторое можно будет продолжать пользоваться старым добрым встроенным rendering pipeline.

Также в движке появится свой собственный визуальный редактор шейдеров Shader Graph, а если вы работаете с Substance Designer, то вас ждет еще один сюрприз: поддержка импорта материалов будет удалена из редактора, и вам нужно будет установить из Asset Store плагин от Substance (про это почитать можно здесь).

image

Под соусом фичи 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)


  1. AxisPod
    18.01.2018 16:06

    Видимо напугались корявейшего Xenko и решились на разработку SRP


  1. Sazonov
    18.01.2018 16:33

    Новая, экспериментальная, никому не известная Entity Component System. Маркетологи такие маркетологи...


    1. 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.


      1. Suvitruf
        19.01.2018 01:25

        Я так понял, претензия к корявому переводу. Entity Component System — это не экспериментальная система, это экспериментальный компонент, который лежит в пространстве имён UnityEngine.Experimental.


      1. Sazonov
        20.01.2018 12:45

        Да, труд действительно значительный. Помню, когда движок dava переводили на data-drived подход тоже было очень много изменений, хотя визуально в игре ничего не поменялось. И, наверное, это был самый большой и сложный code-review на моей памяти, который делали всей командой (сам я в задаче по рефакторингу не участвовал, занимался тогда другими вещами).
        Как выше написали — действительно претензия к корявому переводу :)


  1. shai_hulud
    18.01.2018 16:47
    +1

    Понравилась фраза «на случай если Burst компилятор не будет работать, вы сможете убрать атрибут...». Ох, парни, нельзя там на презентации продукта.


    1. barbanel
      18.01.2018 18:22

      Он крут, ему можно)))


  1. VaalKIA
    18.01.2018 22:09

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


  1. Suvitruf
    19.01.2018 01:22

    Надеялся, что в 2017 завезут Job System, ну, хоть в 2018 завезли.


  1. Torvald3d
    19.01.2018 15:05

    Лучшая анимация травы, что я видел. Можно где-то посмотреть как создавалось демо, туториалы и тп?