Pico сообщила хорошую новость разработчиками приложений на Unreal Engine: благодаря курсу компании на упрощение разработки и активному участию в рабочей группе стандарта OpenXR игровой движок с версии 5.6 поддерживает большинство функций очков Pico, а для специфических достаточно одного плагина PICO OpenXR версии 1.5 вместо двух — PXR и OpenXR.
В специальной статье инженер Pico объяснил корни проблем с плагинами, в частности множества ошибок с Unreal Engine. По его словам, на ранних этапах, когда стандарты OpenXR ещё недостаточно созрели, не было чёткого определения многих интерфейсных особенностей, а различия в интерпретации и реализации требований в API от разработчиков устройств приводили к тому, что функции по-разному работали с ПО и оборудованием — или местами не работали вовсе.
Появление SDK OpenXR разделило стороны конфликта: движок не может диктовать производителям реализации, а производители не могут диктовать, как вызывать движок. Разработка SDK больше не контролируется одним производителем и требует длительных обсуждений между различными сторонами. То, что вендоры раньше решали самостоятельно, теперь решается сотрудничеством трёх сторон: пользователей OpenXR, разработчиков стандарта и разработчиков приложений. Благие намерения OpenXR нивелировались его сыростью.
Из этого вытекает вторая проблема, обозначенная Pico. Разработка API усложнилась из-за необходимости согласовывать специфичные функции с рабочей группой OpenXR, проверять и перепроверять совместимость с фреймворком. Выросли сроки публикации конкурентных преимуществ. Более того, реализация основных модулей и ввода перешла во внутренний код Unreal Engine, и, несмотря на наличие плагинов, на ранних этапах возможности оказались неполными.
Даже если расширение предоставляло специфичные функции, при зависимости от модификации основных модулей движка оно не работало у разработчиков, использующих не исходные версии UE.
Далее автор статьи описал решения перечисленных проблем. По его словам, за последние два года усилия по стандартизации SDK OpenXR ускорились, в них активно участвовали производители устройств. А Pico одной из первых внедрила значительно улучшенную версию спецификаций 1.1.
Представители Unreal Engine тоже участвовали в разработке стандарта и обеспечили UE 5.6 полную поддержку OpenXR 1.1. В результате модуль UE OpenXR навёл новые мосты между Pico и движком.
Китайцы также внедрили независимый выпуск расширений для специфичных возможностей. Их разрабатывают в соответствии со стандартами и фреймворками OpenXR, но без официального согласования с должностными лицами рабочей группы, что позволяет обходить ограничения по срокам рассмотрения и выпуска. Цикл релизов плагинов сократили до 2–4 месяцев.
Общим результатом стало улучшение совместимости между разработками Pico и Epic Games благодаря совместной работе над OpenXR и возврат к срокам выпуска проприетарных API благодаря независимому процессу контроля совместимости со стандартом в Pico.
Более того, как отмечают сторонние инженеры, плагин Pico позволяет собирать версии приложений для мобильных и компьютерных очков без правок кода, а также работает вместе с плагином Meta*, позволяя использовать в одной кодовой базе функции очков обоих вендоров со сборкой универсального APK.
Оценить качество интеграций можно будет по отзывам и активности разработчиков в китайской экосистеме.
*В России признана экстремистской
Не пропускайте важнейшие новости о дополненной и виртуальной реальности — подписывайтесь на Голографику в Telegram, ВК и Twitter! Поддержите проект на Boosty.
Далее: Форма — новый no-code-редактор иммерсивных проектов от Modum Lab