Пакеты DOTS

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

Пакеты DOTS

Придерживаясь курса переработки базовых систем Unity на основе DOTS, мы постоянно добавляем в стек новые функции. Предлагаем вам обзор важнейших пакетов DOTS, над которыми мы сейчас работаем.

Улучшенный подход к игровому дизайну

Entity Component System (ECS) позволяет разрабатывать высокопроизводительный код C#, решающий только те задачи, которые вы ставите, а именно обработку данных и логики вашей игры.

ECS — это наш локомотив перехода от объектно-ориентированного подхода к информационно-ориентированному. ECS в Unity позволяет использовать систему задач C# и Burst Compiler, раскрывая весь потенциал современных многоядерных процессоров и их кеша.

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

Информацию о разработке игрового процесса с помощью ECS смотрите в документации ECS. О вариантах подходов к программированию можно узнать из доклада «Возможности взаимодействий сущностей», представленного на Unite Copenhagen 2019. Мы также рекомендуем загрузить примеры Entity Component System с GitHub.

Пакет Entities также содержит инструмент Unity Live Link. Unity Live Link позволяет вносить изменения в редакторе, которые будут тут же отображаться на всех подключенных устройствах с запущенным приложением. Это позволяет получать информацию о производительности физического устройства напрямую.

Другой инструмент, Conversion Workflow, преобразует объекты GameObject в сущности одним щелчком, позволяя вам работать с DOTS, используя привычные вам GameObject.

Узнать больше
Система задач C#

Система задач C#

Система задач C# использует преимущества многоядерных процессоров современных компьютеров. Система создана с целью помочь программистам C# в разработке безопасного, быстрого и параллелизуемого кода. 

Использование многоядерных процессоров

Система задач C# раскрывает внутреннюю систему задач C++ Unity, позволяя скриптам C# выполняться в виде задач вместе с внутренними компонентами Unity.

Безопасная среда

Обеспечивает защиту от некоторых проблем многопоточных вычислений, например в условиях гонки.

Узнать больше

Компилятор Burst

Новая основанная на LLVM вычислительная технология бэкенд-компиляции превращает задачи C# в глубоко оптимизированный машинный код.

Лучшее от каждой платформы
Компилятор Burst оптимизирует сборку кода для целевой платформы.

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

Смотрите доклад на Unite Copenhagen, чтобы начать работу, и загрузите сопутствующий код с GitHub.

Узнать больше

Unity Physics (предварительная версия)

Мы разработали новейший физический движок на основе технологий DOTS, благодаря которому вы сможете моделировать физику без ущерба производительности, совместимую с современными требованиями к сетевому обмену данными. Система Unity Physics еще находится в статусе предварительной версии и совместима с Unity 2019.1 и более поздними выпусками.

Для клиентов, которым необходимы крайне сложные физические вычисления, мы предлагаем Havok Physics для Unity. В основе решения используется ведущий в отрасли физический движок Havok Physics, работающий более чем в половине игр для нынешнего поколения консолей. Оно построено на основе платформы DOTS C#, как и Unity Physics, но обеспечивает функциональность, производительность, стабильность и надежность закрытого проприетарного движка Havok Physics, написанного на нативном C++.

Узнать больше
Узнайте о новинках проектов на основе DOTS в Unity 2019.3, включая анимацию на базе DOTS, FPS netcode, процесс перехода на новый стек, Unity Live Link и о многом другом.

Unity NetCode (предварительная версия)

Если вы планируете создать многопользовательскую игру в Unity, то для понимания наших достижений в этой области советуем ознакомиться с проектом DOTS Sample. Включенный в проект NetCode обеспечивает прогнозирование на стороне клиента, «авторитетный» сервер и интерполяцию, упрощая разработку шутера.

Узнайте о планах на развитие сетевых функций Unity из доклада на Unite Copenhagen 2019.

Узнать больше

DSPGraph (экспериментальная версия)

Основа готовящейся к выходу звуковой системы DOTS — DSPGraph (теперь в статусе предварительной версии). Наша новая низкоуровневая звуковая подсистема работает с компилятором Burst и полностью расширяется с использованием C#, что позволяет программистам и разработчикам звукового оформления создавать собственные звуковые системы.

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

Узнать больше
Персонаж 3D-игры, бегущий по уровню

Unity Animation (экспериментальная версия)

Раннюю версию разрабатываемой системы анимации для DOTS можно увидеть в действии в проекте DOTS Sample. Этот пакет предлагает базовые функции анимации, включая смешивание, инверсную кинематику, слои и маски. Кроме того, мы работаем над добавлением новых возможностей.

Загрузить дополнительные примеры
Демо-проект Tiny Racing в редакторе Unity

DOTS Runtime (предварительная версия)

С помощью Project Tiny, новой модульной среды выполнения Unity на основе DOTS, вы сможете создавать быстрые игры небольшого размера, легкие и производительные. Загрузите демо-проект Tiny Racing, чтобы узнать, над чем мы сейчас работаем. Он содержит предварительную версию возможностей 3D-рендеринга и позволяет подготовить сборки для iOS, Android, HTML5, Windows и Mac.

Узнать больше

Начало работы с DOTS

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

Документация к пакетам DOTS

Entities (предварительная версия)

Пакет Entities — это основа DOTS. Он содержит систему Entity Component System (ECS) и необходим для использования Conversion Workflow и Unity Live Link. В настоящее время пакет имеет статус предварительной версии и не отображается в окне Package Manager. Выполните действия по этой ссылке для установки com.unity.entities.

 

 

DOTS Editor (предварительная версия)

Пакет DOTS Editor содержит дополнительные инструменты для анализа и визуализации данных. Например, он содержит инструмент Entity Preview Inspector, благодаря которому можно подробно отследить процесс преобразования объектов GameObject в экземпляры. В настоящее время пакет имеет статус предварительной версии и не отображается в окне Package Manager. Выполните действия по этой ссылке для установки com.unity.dots.editor.

Hybrid Renderer (предварительная версия)

Hybrid Renderer — это новый алгоритм, обеспечивающий существующие рендереры данными об экземплярах для отрисовки объектов. Для преобразования объектов GameObject в экземпляры система перехода анализирует компоненты MeshRenderer и MeshFilter в каждом объекте GameObject и конвертирует их в компонент RenderMesh экземпляра. В настоящее время пакет имеет статус предварительной версии и не отображается в окне Package Manager. Выполните действия по этой ссылке для установки com.unity.rendering.hybrid.

Компилятор Burst

Компилятор Burst переводит разбитый на задачи код C# в нативный код с использованием LLVM. Он оптимизирует сборку кода для целевой платформы.

Unity Physics (предварительная версия)

Мы разрабатываем новейший высокопроизводительный физический движок на основе технологий DOTS. Используйте пакет Unity Physics, если вам нужна детерминированная динамика твердых тел и система пространственных запросов. В настоящее время пакет имеет статус предварительной версии и не отображается в окне Package Manager. Выполните действия по этой ссылке для установки com.unity.physics.

Havok Physics (предварительная версия)

Havok Physics — это проприетарное решение для клиентов, которым необходимы физические вычисления высокой сложности. Эта система использует те же форматы входных и выходных данных, что и Unity Physics, поэтому вы можете в любое время заменить одну систему на другую. Теперь пользователям Unity Pro доступны тарифные планы в Unity Asset Store. Пакет имеет статус предварительной версии.

Unity Transport (предварительная версия)

Unity Transport API — это инструмент для создания и настройки серверной и клиентской части ваших многопользовательских проектов. Пакет имеет статус предварительной версии и поддерживает только платформы Windows, Linux, Mac OSX, iOS и Android. В настоящее время пакет имеет статус предварительной версии и не отображается в окне Package Manager. Выполните действия по этой ссылке для установки com.unity.transport.

Unity NetCode (предварительная версия)

Пакет Unity NetCode предоставляет модель выделенного сервера с прогнозированием на стороне клиента для разработки многопользовательских игр. Пакет имеет статус предварительной версии, основное внимание уделяется архитектуре для синхронизации экземпляров. В настоящее время пакет имеет статус предварительной версии и не отображается в окне Package Manager. Выполните действия по этой ссылке для начала работы с NetCode.

Unity Mathematics

Компилятор Burst использует эту библиотеку вычислений для компиляции кода на C# в высокоэффективный нативный код. В пакете содержатся типы векторов и математические функции с шейдерным синтаксисом. Этот пакет входит в число зависимостей пакета Burst Compiler.

Что дальше

Примеры проектов для DOTS

Хотите сразу же углубиться в код? Взгляните на нашу библиотеку примеров на GitHub.

Примеры использования Entity Component System
Примеры Unity Physics

 

Обучающие материалы по DOTS

Ознакомьтесь с ключевыми правилами и понятиями DOTS на простых примерах. Затем обратитесь к докладам с Unite 2019 для получения знаний в отдельных областях.

Что такое DOTS? Обучающий материал
Доклады о DOT на Unite Copenhagen

Форум DOTS

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

Присоединяйтесь к обсуждению DOTS на форуме

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

Согласен