Megacity

Всего за 2 месяца наша команда ECS и 2 художника из группы FPS Sample разработали футуристический город с летающими машинами, сотнями тысяч высокодетализированных игровых объектов и уникальных источников звука. Это — демонстрация нашего прогресса в работе над ECS и компилятором Burst.

Доклад на 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

Начало работы с 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 уникальных источников звука, включая неоновые вывески, вентиляторы кондиционеров и машины, издающие уникальные звуки, и все это создает картину богатой, реалистичной звуковой сцены

Megacity уже доступен

Загрузите демонстрационный проект Megacity со всеми исходными файлами и ассетами. 

Megacity работает на Unity 2019.1.0 Beta 7.

Присоединяйтесь к обсуждению на форуме, будьте в курсе новостей и учитесь принципам работы с ECS.

Мы используем cookie-файлы, чтобы вам было удобнее работать с нашим веб-сайтом. Подробнее об этом можно узнать на странице, посвященной политике использования cookie-файлов.

Согласен