vk.com

Выберите язык

Поддержка игровым движком Godot OpenXR

 

  OpenXR - это новый открытый стандарт взаимодействия с оборудованием XR, созданный замечательными людьми из Khronos. Это был один из тех редких случаев, когда все лидеры отрасли собрались вместе и разработали стандарт, сочетающий в себе все лучшие практики различных доступных на сегодняшний день решений.

  С объявлением спецификации 0.9, примерно два года назад, Microsoft продемонстрировала свою среду выполнения, а также Collabora со своей средой выполнения OpenXR, на базе Linux с открытым исходным кодом, под названием Monado. В прошлом году и Oculus, и Valve представили свои среды выполнения, и, хотя официально они все еще находятся в стадии бета-тестирования, они полностью функциональны на момент написания этого сообщения в блоге.

Плагин Godot 3.3 OpenXR

  Он несколько пролетел мимо радаров, но Godot был одним из первых игровых движков, продемонстрировавших поддержку OpenXR. Благодаря замечательной работе Кристофа Хаага по переносу подключаемого  модуля  OpenHMD Godot на OpenXR, Collabora смогла продемонстрировать Godot, запустивший порт Calinou демо версии Sponza для Linux с помощью гарнитуры Vive еще в начале 2019 года. Вы можете прочитать их новостную статью здесь .

  В прошлом году Бастиан Олий начал сотрудничать с Кристофом Хаагом и помог добавить поддержку Windows в плагин, настроив автоматические сборки плагина, реализовал первую версию системы действий OpenXR с упором на то, чтобы сделать ее совместимой с текущим подходом контроллера Godot, и добавил поддержку отслеживания пальцев.

  Кристоф в настоящее время работает над еще экспериментальной поддержкой Android для OpenXR.

  Плагин был протестирован на предмет хорошей работы как в экосистемах Oculus и SteamXR в Windows, так и в SteamXR и Monado в Linux.

  Он еще не доступен в библиотеке ресурсов, но последнюю сборку можно загрузить со страницы выпусков в репозитории GodotVR GitHub.

  Кроме того, мы сделали старт на документации для плагина здесь. Он расскажет вам, как начать работу с плагином.

Microsoft? Можем ли мы использовать Godot для Hololens?

  Microsoft была одной из первых, у кого была полностью функционирующая среда исполнения OpenXR, однако в настоящее время она поддерживает только DirectX. Поскольку Godot является движком на основе OpenGL, это оказалось камнем преткновения.

  Godot может работать с DirectX и может работать на UWP с использованием библиотеки Angle OpenGL → DirectX, так что теоретически это можно заставить работать. Однако из-за того, что Microsoft больше не поддерживает Angle и не имеет доступа к необходимому оборудованию, работа над этим застопорилась.

 Если кто-то с опытом в этой области желает попробовать, свяжитесь с нами!

  Мы еще не знаем, как будут развиваться дела в отношении Vulkan, представит ли Microsoft встроенную поддержку Vulkan или станет ли доступна какая-либо хорошая библиотека Vulkan → DirectX, аналогичная MoltenVK для Vulkan → Metal.

 Godot 4 и OpenXR

  И это подводит нас к сегодняшнему дню. Поддержка XR на Godot 4 застопорилась в течение 2020 года из-за продолжающегося переписывания бэкэнда рендеринга, однако с учетом того, что Бастиан Олидж был нанят организацией Godot через грант, предоставленный Facebook Reality Labs специально для того, чтобы сосредоточиться на поддержке OpenXR, будущее выглядит светлым.

  Февраль был использован для завершения ряда вещей в плагине Godot 3.2 OpenXR и для дальнейшей проработки наших идей. Это проект, который займет несколько месяцев, поскольку мы не только обеспечиваем поддержку OpenXR для Godot 4, мы также изучаем конкретные оптимизации в движке рендеринга для мобильного рендеринга и потребностей, специфичных для XR, но мы надеемся, что сможем скоро покажем реальный прогресс! В марте основное внимание уделяется тому, чтобы рендерер Vulkan работал на Android, после чего мы начнем вносить изменения в механизм рендеринга, чтобы поддерживать лучший способ стереоскопического рендеринга, чем в Godot 3.


Перевод статьи Бастиана Олий от 18 марта 2021 г.