Доклад на Unite LA 2018
В Лос-Анджелесе многие заинтересовались ECS и компилятором Burst. Разработав демонстрацию Nordeus, показанную на Unite Austin, наши программисты игрового кода и разработчики FPS Sample создали Megacity — динамичный футуристический город, который использует «Стек информационно-ориентированных технологий» (Data-Oriented Technology Stack или DOTS) — обобщенное название всех наших проектов под знаменем «Производительность по умолчанию», включая ECS, Native Collections, систему задач C# и компилятор Burst.
Демонстрация для Unite LA разработана за 6 недель
При содействии небольшой команды внештатных сотрудников, 2 художника Unity разработали все ресурсы высокого разрешения примерно за 6 недель. Они использовали технику вложенных префабов и новые функции, позволяющие работать с очень большими массивами игровых объектов.
Требуется много сил...
для сборки Megacity. Для этого примера мы собрали все команды и технологии исследовательской группы Unity, включая новейшие функции вроде вложенных префабов и программируемых процессов рендеринга, а также существующие, например, редактирование сцены, сборка окружения, Cinemachine и стек пост-обработки. Кроме того, мы использовали функции, которые будут реализованы только в 2019 году:
- Рабочие процессы для (очень) больших сцен
- Звуковая система C#
- Система HLOD
- Система отсечения ECS
- Асинхронная трансляция сцены
- Асинхронное создание экземпляров
- Улучшения рабочих и отладочных инструментов ECS

Megacity для мобильных устройств
Разработчики из Nordeus переработали проект Megacity, чтобы показать, как DOTS и Lightweight Render Pipeline (LWRP) помогают с легкостью масштабировать проект для ПК до мощностей мобильных устройств. Разработчики стремились сохранить сложность графики ПК-версии, но обеспечить работоспособность на мобильных устройствах с приемлемой частотой обновления кадров.
Для решения этой задачи они использовали LWRP, который выйдет из статуса предварительной версии в Unity 2019.1. Главная мысль разработчиков: «Допустим, вы работаете над игрой, которая рассчитана на мощности ПК. Затем вы решаете портировать ее на мобильные устройства, и обычно вы сталкиваетесь с необходимостью переработать множество компонентов в связи с ограничениями мобильных платформ. Стек DOTS позволил нам использовать абсолютно тот же код игровой логики и рендеринг, что и на ПК, с возможностью простого масштабирования до мобильных платформ».
Megacity Soundscape (экспериментальная версия)
DSPGraph — это новая система микширования и рендеринга звука, созданная на базе системы задач C# Unity. Система расширяется с помощью C#, и ее можно использовать с компилятором Burst. В проекте Megacity система отвечает за работу 100 000 размещенных в сцене уникальных источников панорамного и пространственного звука, в том числе неоновых вывесок, вентиляторов кондиционеров, а также автомобилей, создавая богатую и реалистичную звуковую картину.
Обратите внимание, что DSPGraph — это внутренний экспериментальный API, который мы планируем отладить и издать в качестве демопакета позже в этом году. Этот интерфейс станет основой нашей звуковой системы в рамках стека информационно-ориентированных технологий. Остались вопросы или есть предложения по DSPGraph? Присоединяйтесь к обсуждению в официальной ветке форума, посвященной звуковой подсистеме DOTS.
Архитектура Megacity
Начало работы с Megacity Demo
В этом докладе, записанном на GDC 2019, евангелист Unity Майк Гайг (Mike Geig) вкратце расскажет о проекте и о том, как реализовывался подход Unity "«производительность по умолчанию»" в создании огромного игрового мира со множеством сложных объектов и процессов.
Megacity на Unite LA: презентация и обзор
Йоаким Анте впервые рассказал о ECS на Unite LA 2018, представив результаты работы своей команды за последние шесть месяцев.
Megacity на Unite LA: разработка живого мира с малым бюджетом
Небольшая команда разработала сложный детализированный город меньше чем за 2 месяца. Мартин Вестергаард рассказывает об этапах разработки концепции, архитектуры, документации, производства и отладки.
Megacity на Unite LA: графовая архитектура звука в мире ECS
Узнайте, что представляет собой новый движок рендеринга звука, использующий систему задач C#. Докладчики расскажут о системе низкоуровневого рендеринга звука и рассмотрят технологию ECS, которая и позволяет реализовать масштабный звук в представленной демонстрации.
Megacity на Unite LA: масштабируемые LOD и системы отсечения
Майк Актон рассказывает, почему его команда использовала ECS для отрисовки демонстрации Megacity в режиме трансляции на Unite LA.
Megacity на Unite LA: сплайновые ИИ-агенты
Обзор системы симуляции дорожного движения, использующей вычислительные ядра и код, созданный компилятором Burst, а также процесса разработки сплайновых ИИ-агентов с помощью ECS.
Megacity на Unite LA: трансляция и сериализация
Узнайте о сериализации экземпляров с чтением или записью на диск, о подробностях разработки бесшовной трансляции игрового режима и эффективном рабочем процессе в редактора, а также о возможностях мира ECS.
Megacity на Unite LA: Эволюция ECS API
Прошлое, настоящее и будущее ECS. Ария Бончек из команды информационно-ориентированной архитектуры в Unity рассказывает о наших решениях в разработке мощного API.
Megacity на Unite LA: Работа с Entity Debugger
Знакомство с функциями отладчика экземпляров и обсуждение его роли в будущих версиях Unity.

ECS разработана специально для огромных игровых окружений
Одна из наших главных задач в разработке Megacity — показать, насколько Entity Component System удобна для трансляции огромных массивов элементов сцены.
Например, Megacity содержит 4,5 млн объектов с Mesh Renderer, 5 000 динамических автомобилей и 200 000 уникальных зданий. Транспорт движется по сплайновым полосам проезжей части без столкновений. В сцене используется 100 000 уникальных источников звука, включая неоновые вывески, вентиляторы кондиционеров и машины, издающие уникальные звуки, и все это создает картину богатой, реалистичной звуковой сцены