UNIGINE SDK 2.19: поддержка USD, OpenXR, WebRTC


Отечественный 3D-движок UNIGINE обновил инструментарий для разработки. SDK версии 2.19 предлагает общие улучшения, такие как оптимизация потребления ресурсов, графической подсистемы, редактора, а среди них и наиболее ценные для иммерсивных проектов. Например, здесь появилась поддержка OpenXR, экспорт в формат сцен USD и трансляция видеопотока через серверы на WebRTC.

Повышение эффективности центрального процессора

Новый многопоточный рендер для DirectX12 улучшил производительность процессора за счёт более эффективного использования ядер. Эта оптимизация имеет особенно важное значение для сцен с большим количеством контента и множеством объектов, таких как модели САПР.

Снижение потребления оперативной и видеопамяти

Аллокатор UNIGINE доработали ради лучшего управления выделением оперативной и видеопамяти в процессе работы приложения, что значительно ускорило процесс и сделало его более эффективным. Это позволяет добиться снижения общего потребления памяти примерно на 30%.

Ускоренный запуск движка

Данные о геометрии и свойствах (properties) теперь загружаются асинхронно в отдельных потоках параллельно с загрузкой материалов, за счёт чего должен значительно уменьшаться их вклад в общее время загрузки на старте, поскольку главным образом это время зависит от инициализации Файловой системы и загрузки материалов. Загрузка текстур ускорилась из-за более эффективного распараллеливания процессов.

Крупным проектам с большим количеством контента, по данным компании, эти оптимизации могут дать ускорение загрузки в 1,4–1,9 раза.

Выросла производительность стриминга упакованных данных (содержимое архивов UNG и ZIP). Появилась возможность частичного считывания данных из архивов.

Отложенная асинхронная загрузка содержимого NodeReference при загрузке мира ускорила процесс в 1,3 раза и позволила решить проблему перегенерации идентификаторов нод.

Многократное отражение для динамических Environment Probe

Все динамические отражения теперь поддерживают просчет множественных отскоков, что позволяет пробам отрисовывать самих себя в отражениях. Многократное отражение доступно для источников Planar Reflection Probe и динамических Environment Probe.

Расширенное управление цветом неба, облаков и дымки

Возможности управления цветом неба, облаков и дымки стали шире благодаря LUT–таблицам.

Другие улучшения рендера

  • Функция Materials Quality позволяет найти оптимальный баланс между качеством и производительностью за счёт использования различных разрешений текстур и набора опций для различных глобальных уровней качества (Low, Medium, High)
  • Для эффектов сенсоров вышел темпоральный фильтр, уменьшающий шум от SSRTGI
  • Оптимизирован шумоподавитель, что позволило избавиться от артефактов при использовании разрешений Half и Quarter буфера Color Clamping Blur
  • Появился набор улучшений апскейлеров DLSS и FSR для ПК и консолей
  • Выросла производительность локальной тональной компрессии (в 1,5–3 раза), с возможностью использования пониженного разрешения (Half и Quarter)
  • Для эффекта локальной тональной компрессии теперь есть новый параметр Effect On Dark Areas Gamma
  • Для буфера чересстрочного расчёта отражённого освещения добавили управление коррекцией цветового диапазона

Потоковая передача видео через WebRTC (экспериментально)

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

Экспорт в формат USD

USD или Universal Scene Description (формат *.usd) — это открытый стандарт иерархического описания сцен, призванный унифицировать обмен данными между разными технологиями и процессами создания трёхмерного контента. Поддержка USD помогает взаимной совместимости между множеством приложений.

В релизе 2.19 разработчики добавили экспорт сцен в файлы формата USD. Это работает в редакциях SIM и Engineering с помощью плагина USD Exporter.

Поддержка OpenXR

API OpenXR решает ту же задачу интероперабельности, что и USD, но в большем масштабе, с огромным количеством программного и аппаратного обеспечения дополненной, виртуальной и смешанной реальности. Стандарт снижает затраты на портирование кода между платформами. Текущая реализация поддержки — базовый уровень для виртуальной реальности. В следующих релизах UNIGINE планирует его расширять.

Плагин SpiderVision

Все главные функции вывода изображения на дисплеи, видеостены и проекторы с коррекцией искривлений и компенсацией пересвечивания на границах проекций, которые ранее работали через отдельные плагины (Wall, Projections, EasyBlend), теперь в одном плагине SpiderVision.

Несколько окон Asset Browser

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

Быстрая сборка графов материалов

Ряд улучшений упрощает создание графов материалов, в частности, за счёт упразднения лишних повторяющихся операций и оптимизации рабочего процесса.

Прочие улучшения редактора

  • Упаковка контента для релизной сборки приложения
  • Возможность выделения только тех поверхностей, которые видны в окне просмотра (по маске Viewport)
  • Поддержка систем контроля версий единым плагином VCSIntegration с Subversion (SVN) и Git
  • Расширен API менеджера ассетов (AssetManager)

Обновления Системы анимаций (экспериментально)

  • Цепочки LookAt для ObjectMeshSkinned
  • Ограничения вращения костей и несколько режимов интерполяции для ObjectMeshSkinned
  • Изменённая работа с целями морфинга (morph target) для ObjectMeshSkinned
  • ObjectMeshSkinned более не поддерживает изменение геометрии меша; теперь есть специальный режим procedural, который позволяет использовать заданную пользователем геометрию
  • Переназначение анимаций для ObjectMeshSkinned теперь можно зарегистрировать в виде пар (anim_path, mesh_path)
  • Набор новых примеров использования API Системы анимаций

Другие важные изменения

  • Интеграция с .NET 8 (C# 12, улучшенный сборщик мусора, улучшенная сериализация и многое другое)
  • Поддержка карт NVIDIA Quadro Sync (только для редакции Sim)
  • В версиях SDK до 2.18.1 включительно для геометрии всех экземпляров Node Reference работали общие карты освещения, что ограничивало возможности лайтмаппинга. В UNIGINE 2.19 добавили возможность использования уникальных карт освещения и теней для каждого экземпляра, снимая эти ограничения
  • Примеры интеграции CUDA теперь есть и в редакции Engineering

Полный отчёт о релизе здесь.

Не пропускайте важнейшие новости о дополненной и виртуальной реальности — подписывайтесь на Голографику в Telegram, ВК и Twitter! Поддержите проект на Boosty.

Далее: Alliance for OpenUSD пополнили Microsoft, Shutterstock и Sony