Hero background image

ECS for Unity

ECS для Unity (Entity Component System) - это ориентированный на данные фреймворк, совместимый с GameObjects, позволяющий опытным создателям Unity создавать более амбициозные игры благодаря беспрецедентному уровню контроля и детерминизма.
Эта страница была переведена с использованием машинного перевода. Для просмотра исходной версии, которая является точной и служит источником достоверной информации,
Демофильм Unity Megacity создан на основе DOTS

Позволяет опытным создателям Unity создавать более амбициозные игры

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

ECS
Дополнительный фреймворк, совместимый с экосистемой GameObjects

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

Скриншот Megacity
Игровой код на базе ECS может быстро адаптироваться к серьезным изменениям игрового процесса

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

ECS
Игровой код на основе ECS обеспечивает полный контроль и детерминизм

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

ECS
Лучшее использование аппаратного обеспечения с помощью Burst, системы заданий C# и игрового кода ECS

Игровой код, основанный на архитектурном паттерне ECS, может избежать недостатков объектно-ориентированного программирования с помощью GameObjects. А благодаря использованию игрового кода на базе ECS, компилятора Burst и системы заданий C# команды разработчиков могут максимально эффективно использовать аппаратные ресурсы целевой платформы на уровне памяти и процессора.

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

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

Гравитация планеты по-прежнему
Обеспечивает крупномасштабное моделирование и обеспечивает работу Havok Physics для Unity

Код моделирования, основанный на архитектурном шаблоне ECS, может масштабироваться до беспрецедентного количества объектов и обеспечивать детерминизм. Для сложных проектов, нуждающихся в проверенном на производстве физическом движке класса AAA, ECS for Unity поддерживает Havok Physics for Unity, обеспечивая детерминизм и контроль для масштабирования сложных симуляций.

Заснеженная сцена с гоночным автомобилем
Разработан для поддержки создания амбициозных многопользовательских игр

Используя ECS, пользователи могут синхронизировать больше данных по сети, поддерживать больше игроков, создавать игры, сильно зависящие от отката и детерминизма, снижать риск разработки и сокращать время итераций. ECS для Unity поставляется с библиотекой Netcode, авторизованной на сервере.

Примеры и учебные пособия по ECS

megacity multiplayer
Megacity Multiplayer

Чтобы узнать больше о том, как создавать амбициозные многопользовательские игры с помощью ECS для Unity и Unity Gaming Services (UGS), ознакомьтесь с примером многопользовательского экшена от третьего лица, который поддерживает схватки 64 и более игроков.

ECS Racing
ECS Network Racing

Образец гонок Multiplayer, демонстрирующий реализацию клиент-серверной архитектуры с предсказанием, интерполяцией и компенсацией задержки на стороне клиента.

Код игрового процесса ECS
Учебные пособия по ECS

Ознакомьтесь с самоучителями, видеороликами и примерами для изучения и использования ECS для Unity, включая Entities, Collections, Burst, Mathematics и C# Job System.

Путь к использованию DOTS в производстве
Ramen VR и Electric Square

Узнайте, как ECS для Unity помогла Ramen VR масштабировать игровой процесс для Zenith: The Last City, VR MMO; а также о том, как Electric Square использовала ECS для достижения детерминированного геймплея для QA, контуров проектирования и потоковой передачи данных в Detonation Racing, стремительной гоночной игре для Apple Arcade.

Демонстрация V Rising
Студия Stunlock

Узнайте, как Stunlock Studios использовала ECS при разработке V Rising, многопользовательской игры на выживание с открытым миром, включая создание мира в редакторе с помощью пользовательских визуальных сценариев и масштабируемую потоковую передачу данных по открытому миру.

Unity на Devcom с IXION
Игры Каседо

Узнайте, как компания Kasedo Games использовала ECS для Unity, чтобы обеспечить мощную симуляцию NPC в IXION, игре, посвященной строительству городов, выживанию и исследованию космоса.

Выноска ECS
Начните работать с DOTS

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