Русский 3D движок Unigine обновился к началу лета до 2.18.1. Добавлен апскейлинг: NVIDIA DLSS 3 и AMD FSR 2.2, интеграция CUDA для Vulkan и DirectX 12, перенос сцены с Unity, оптимизация и много чего ещё. А ещё опубликованы планы на будущий 2.19+ патч.
Апскейлинг: DLSS и FSR:
экспериментальный
Разработчики продолжают повышать производительность движка, добавляя новые функции, поддерживая увеличивающееся разрешение и повышая реалистичность конечного изображения, и все это в рамках того же строгого бюджета кадров. В этом контексте важность апскейлеров невозможно переоценить; они уменьшают необходимость рендеринга большего количества пикселей для более высоких разрешений, тем самым высвобождая ресурсы для других важных улучшений и поддерживая приемлемый уровень производительности. С этой целью мы интегрировали поддержку NVIDIA DLSS 3 (Deep Learning Super Sampling) и AMD FSR 2.2 (Fidelity FX Super Resolution). Эти технологии позволяют повышать разрешение изображения на широком спектре устройств разных производителей и использовать различные настройки качества как для статических, так и для динамических сцен.
Разработчики продолжают повышать производительность движка, добавляя новые функции, поддерживая увеличивающееся разрешение и повышая реалистичность конечного изображения, и все это в рамках того же строгого бюджета кадров. В этом контексте важность апскейлеров невозможно переоценить; они уменьшают необходимость рендеринга большего количества пикселей для более высоких разрешений, тем самым высвобождая ресурсы для других важных улучшений и поддерживая приемлемый уровень производительности. С этой целью мы интегрировали поддержку NVIDIA DLSS 3 (Deep Learning Super Sampling) и AMD FSR 2.2 (Fidelity FX Super Resolution). Эти технологии позволяют повышать разрешение изображения на широком спектре устройств разных производителей и использовать различные настройки качества как для статических, так и для динамических сцен.
Эта функция в настоящее время находится на экспериментальной стадии и поддерживает только конфигурации с использованием Windows и DirectX 12. Подробные требования и ограничения совместимости для каждого апскейлера изложены в сопроводительной документации.
Интеграция CUDA для Vulkan и DirectX 12:
Unigine Sim SDK теперь включает новый набор примеров, демонстрирующих, как взаимодействовать с внешним графическим API с использованием новых классов ResourceExternalMemory и ResourceFence в Unigine API). В примерах показано взаимодействие с NVIDIA CUDA Toolkit, но вы можете использовать их в качестве основы для интеграции графических API Движка (Vulkan, DX11, DX12) с другими графическими API (OpenGL, DX, CUDA и т.д.), которые могут принимать дескриптор и импортировать примитив синхронизации (например, внешний семафор в CUDA).
Этот подход позволяет взаимодействовать различным API с использованием разных графических API, например взаимодействие Media Foundation использующего DX11 с движком, который использует DX12 или Vulkan.
В примерах также показано, как получать данные непосредственно из видеопамяти без обращения к процессору и обрабатывать их с использованием графического API, не связанного с движком.
Разница в производительности передачи текстур GPU -> CPU , выполняемой через CUDA 12.3 и средствами движка, показана в таблице ниже (проверено на наших рабочих конфигурациях). Средний прирост производительности с CUDA составил х10 до х24 в зависимости от разрешения окна.
Вы можете проверить результаты на своем ПК, просто запустив новый сэмпл CUDATextureTransfer и включив Profiler.
Упрощенный импорт сцены из Unity:
Смена технологии - важное и непростое решение, в первую очередь из-за времени, необходимого для воссоздания вашего проекта в новой среде. Переход с Unity на Unigine теперь стал значительно проще благодаря новому инструменту, разработанному одним из энтузиастов нашего сообщества. Этот инструмент облегчает автоматическую передачу всей иерархии сцен, которая включает в себя:
- Меши Skinned и Static: перенос всех мешей вместе с их уровнями детализации (LOD);
- Назначение материалов: применение материалов к объектам, со всеми используемыми текстурами;
- Настройки физики: объединение настроек физики, таких как RigidBody, примитивные и сложные коллайдеры, а также матрицы коллизий;
- Префабы и C#-компоненты: переносит префабы и компоненты C#, назначенные объектам.
Этот инструмент выполняет основную часть механической работы по переносу контента, однако, для точной настройки параметров и переноса пользовательского кода в Unigine по-прежнему не обойтись без ручного вмешательства. Разработчик инструмента обещает дополнительные функции в будущих обновлениях для дальнейшей оптимизации процесса. Этот инструмент не только экономит время, но и сводит к минимуму проблемы, связанные со сменой платформы, позволяя вам использовать мощные функции Unigine с меньшими усилиями.
Инструмент включает в себя два плагина:
- Плагин к редактору Unity (Unigine Exporter), который экспортирует вашу сцену Unity в файл JSON (можно скачать на Unity Asset Store);
- Плагин к редактору Unigine (Unity Importer), который берет этот JSON-файл и генерирует аналогичную сцену в Unigine (можно скачать в магазине).
2.19+ в работе:
Версия 2.18.1 преимущественно сфокусирована на стабилизации открывая дорогу новому функционалу, разработка которого уже на финишной прямой в ветке 2.19. Вот список того, что можно ожидать:
- Многопоточный рендерер, который значительно повышает производительность процессора;
- Улучшенная система анимации персонажей;
- Крупные оптимизации для сокращения объема использования оперативной памяти;
- Асинхронная загрузка нод для повышения эффективности;
- Ускоренный запуск движка;
- Интеграция с .NET 8;
- Поддержка OpenXR;
- Упрощенное облачное развертывание;
- Плюс еще много новых функций!
Спасибо, что прочитали, и не пропустите обновления, поскольку мы продолжаем работать над тем, чтобы сделать UNIGINE еще лучше!- Ваша команда UNIGINE
Больше информации в источнике материала.
откуда инфа?
если что, вот пояснение: