Некоммерческая организация Open 3D Foundation (O3DF) представила выпуск открытого игрового 3D-движка Open 3D Engine 23.05 (O3DE), пригодного для разработки современных игр класса AAA и высокоточных симуляторов, способных работать в режиме реального времени и обеспечивать качество кинематографического уровня. Код написан на С++ и опубликован под лицензией Apache 2.0. Имеется поддержка платформ Linux, Windows, macOS, iOS и Android.
Исходные тексты движка O3DE были открыты в июле 2021 года компанией Amazon и основаны на коде ранее развиваемого проприетарного движка Amazon Lumberyard, построенного на технологиях движка CryEngine, лицензированных у компании Crytek в 2015 году. После открытия развитие движка курирует некоммерческая организация Open 3D Foundation, созданная под эгидой Linux Foundation. Помимо Amazon к совместной работе над проектом подключились такие компании, как Epic Games, Adobe, Huawei, Microsoft, Intel и Niantic.
Движок включает в себя интегрированную среду для разработки игр, многопоточную систему фотореалистичного рендеринга Atom Renderer с поддержкой Vulkan, Metal и DirectX 12, расширяемый редактор 3D-моделей, систему анимирования персонажей (Emotion FX), систему разработки полуфабрикатов (prefab), движок симуляции физических процессов в реальном режиме времени и математические библиотеки, использующие инструкции SIMD. Для определения игровой логики может использоваться среда визуального программирования (Script Canvas), а также языки Lua и Python.
Проект изначально рассчитан на возможность адаптации под свои нужды и имеет модульную архитектуру. Всего предлагается более 30 модулей, поставляемых в виде отдельных библиотек, пригодных для замены, интеграции в сторонние проекты и использования по отдельности. Например, благодаря модульности разработчики могут заменить рендер графики, звуковую систему, поддержку языков, сетевой стек, физический движок и любые другие компоненты.
Среди изменений в новой версии:
- Предложен новый модуль MPS (Multiplayer Sample Game), в котором реализован хорошо документированный пример простой готовой многопользовательской игры. Разработчикам предлагается набор типовых элементов игр, а также клиентских и серверных компонентов для организации сетевой игры, которые могут использоваться в качестве основы для создания собственных игр. Имеются примеры генерации ландшафтов, манипуляций освещением, создания визуальных эффектов, работы со звуком, подключения скриптов и использования расширенных режимов рендеринга, таких как каскадные тени, глобальное освещение, отражающие и излучающие поверхности. В состав также входит набор игровых ресурсов (asset), которые можно использовать в других проектах.
- Представлен модуль ROS2, интегрируемый с инструментарием Robot Operating System (ROS2) и предоставляющий драйверы, реализации алгоритмов, компоненты, ресурсы и утилиты для создания симуляторов роботов. Модуль позволяет добавлять код для платформы ROS 2 непосредственно внутри проекта с симулятором, использовать готовые шаблоны, импортировать ресурсы и подключать виртуальные датчики.
- Реализован Material Canvas, интерфейс скриптинга на основе нод для создания и изменения в визуальном режиме генеративных материалов и шейдеров, в котором сочетается гибкость редактора скриптов (Script Canvas) и возможности редактора материалов (Material Editor).
- Добавлен слой абстракции Material Pipeline для упрощения настройки этапов рендеринга с целью достижения необходимого баланса между производительностью и качеством, независимо от платформы и оборудования (работает через создание отдельных шейдеров для каждой стадии рендеринга).
- Улучшена расширяемость игрового редактора (O3DE Editor), в котором реализован API Action Manager, позволяющий добавлять свои меню, горячие клавиши и контекстные действия, а также подключать скрипты на языке Python.
- Добавлена поддержка движка симуляции физических процессов PhysX 5.1.
- Обновлён интерфейс редактирования анимации (Animation Editor). Предложен новый процесс для импорта ресурсов (Animation Asset Import). Добавлен визуализатор производительности, упрощающий профилирование и оптимизацию AnimGraph.
- В системе формирования ландшафта (Terrain System) появился инструмент “Кисть” (Paintbrush) для рисования внутри вьюпорта, создания или изменения ландшафта.
- Добавлен новый интерфейс для навигации по игровым ресурсам (Asset Browser), позволяющий выполнять операции с файлами и инспектировать ресурсы.
- Предоставлена возможность одновременной установки нескольких разных версий движка O3DE в одной системе, которые можно использовать в привязке к разным проектам.
- В системе модулей-дополнений Gem предоставлена возможность указания совместимости с определённой платформой и выполнения фильтрации модулей в зависимости от поддержки платформ.
- Встроена поддержка стандарта OpenXR для стереоскопического рендеринга.
- Повышена производительность на мобильных устройствах.