Некоммерческая организация Open 3D Foundation (O3DF) представила выпуск открытого игрового 3D-движка Open 3D Engine 23.10 (O3DE). Проект позволяет разрабатывать современные игры и высокоточные симуляторы, способные работать в режиме реального времени и обеспечивать качество картинки кинематографического уровня. Исходный код O3DE написан на C++ и опубликован на GitHub под разрешительной лицензией Apache 2.0. Движок O3DE имеет поддержку различных платформ, включая Linux, Windows, macOS, iOS и Android.
По информации OpenNET, исходные коды движка O3DE были открыты в июле 2021 года специалистами Amazon. Проект основан на коде ранее развиваемого проприетарного движка Amazon Lumberyard, построенного на технологиях движка CryEngine, лицензированных у компании Crytek в 2015 году. Развитие текущей версии движка курируют разработчики некоммерческой организации Open 3D Foundation, созданной под эгидой Linux Foundation. Помимо Amazon в совместной работе над этим проектом участвуют эксперты и разработчики Epic Games, Adobe, Huawei, Microsoft, Intel и Niantic.
Игровой движок O3DE включает в себя интегрированную среду для разработки игр, многопоточную систему фотореалистичного рендеринга Atom Renderer с поддержкой Vulkan, Metal и DirectX 12, расширяемый редактор 3D-моделей, систему анимирования персонажей (Emotion FX), систему разработки полуфабрикатов (prefab), движок симуляции физических процессов в реальном режиме времени и математические библиотеки, использующие инструкции SIMD. Для определения игровой логики может использоваться среда визуального программирования (Script Canvas), а также языки Lua и Python.
Проект O3DE был изначально рассчитан на возможность адаптации под свои нужды и имеет модульную архитектуру. Всего в O3DE предлагается более 30 модулей, поставляемых в виде отдельных библиотек, пригодных для замены, интеграции в сторонние проекты и использования по отдельности. Например, благодаря модульности разработчики могут заменить рендер графики, звуковую систему, поддержку языков, сетевой стек, физический движок и любые другие компоненты.
Основные изменения и обновления в Open 3D Engine 23.10:
в среду визуального программирования скриптов (Script Canvas) добавлена поддержка компактных узлов (node), занимающих меньше визуального пространства и предназначенных для обработки простых операций. Новая возможность позволяют сделать граф узлов более компактным и простым в отладке;
добавлен экспериментальный фреймворк DPE (Document Property Editor) для создания редакторов свойств, не углубляясь в тонкости разработки интерфейсов пользователя на Qt и не заботясь об отдельной реализации средств для сортировки и фильтрации элементов. Разработчику достаточно оформить раскладку элементов, поведение редактирования и свойства интерфейса в виде XML-документа, который преобразуется в необходимый интерфейс при помощи виджета DocumentPropertyEditor. Первым инструментом, реализованным при помощи DPE, стал интерфейс "Консоль переменных" ("Console Variables");
добавлен экспериментальный интерфейс для переопределения полуфабрикатов (Prefab Overrides), позволяющий в произвольной форме изменять содержимое экземпляров полуфабриката;
представлены возможности для автоматизации создания пользовательских репозиториев с модулями-дополнениями (Gem), шаблонами и проектами;
для упрощения установки скомпилированной версии Open 3D Engine сформированы snap-пакеты для Ubuntu 20.04 и 22.0;
расширены возможности экспорта проектов, созданных при помощи Open 3D Engine для Windows, Linux, Linux Server и iOS. В ближайшее время ожидается поддержка экспорта проектов для Android;
в системе рендеринга Atoм проведена работа по повышению производительности и качества отрисовки, добавлена поддержка мобильных устройств на базе iOS и Android. Добавлен фреймворк для работы одновременно с несколькими GPU. Реализована поддержка отражений на базе трассировки лучей. Добавлена поддержка механизмов выделения памяти VMA (Vulkan Memory Allocator) и DX12MA (DirectX Memory Allocator);
расширены возможности для создания симуляторов роботов. Значительно улучшена система шаблонов проектов для роботов. Добавлен шаблон для быстрого создания роботов-манипуляторов. Предложена документация по запуску шаблонов проектов при помощи платформы Robot Operating System (ROS2). Добавлена поддержка призматических соединений для передачи крутящего момента. Повышена производительность и расширены возможности по настройке компонента с камерой. Предложены два вида захватов: вакуумный и пальцевый. Добавлен компонент с контактным датчиком.
Источник новости: habr.com