Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Пакет SDK для Unity XR

Unity XRОбщий термин, охватывающий виртуальную реальность (VR), дополненную реальность (AR) и смешанную реальность (MR). Приложения. Устройства, поддерживающие эти формы интерактивных приложений, можно назвать устройствами XR. Подробнее
См. в Словарь
SDK предназначен для пользователей-специалистов, которые хотят разработать собственный XR. поставщиков, которые работают с Unity. Чтобы загрузить XR SDK, необходимо зарегистрироваться на этой странице.

Пакет XR SDK позволяет нескольким бэкэндам (называемым «поставщиками») реализовывать одну функцию ядра (называемую «подсистемой») в Unity. Пользовательские приложения могут выбирать и активировать поставщиков во время выполнения.

Подсистемы

Одна подсистема состоит из:

  • Интерфейс C# для разработчиков
  • Собственный интерфейс, реализуемый несколькими бэкэндами (поставщиками) через динамические библиотеки
  • Общий код движка, который обрабатывает взаимодействие с интерфейсом C#, собственным интерфейсом и остальной частью движка.
Схема подсистемы
Схема подсистемы

Дескриптор подсистемы

Дескриптор подсистемы — это метаданные о подсистеме, которые можно проверить перед загрузкой или инициализацией подсистемы. Это происходит из файла манифеста и доступно через интерфейс C#. Метод Create активирует подсистему и предоставляет ее экземпляр для скриптов пользователя Фрагмент кода, который позволяет вам создавать свои собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на ввод данных пользователем любым удобным для вас способом. Подробнее
См. в Словарь
.

Дополнительную информацию см. на странице Обнаружение и активация подсистем во время выполнения.

Экземпляр подсистемы

Когда Create вызывается для дескриптора подсистемы, создается экземпляр подсистемы. Код сценария взаимодействует с этими экземплярами для связи с подсистемой. Сама подсистема имеет свой жизненный цикл: ее можно запускать, останавливать и выключать.

Поставщик

Поставщик – это встроенная реализация подсистемы. У одной подсистемы может быть несколько провайдеров. Некоторые подсистемы могут позволять нескольким поставщикам быть активными одновременно, но другие могут быть взаимоисключающими.

Схема провайдера
Схема провайдера

Поставщики соответствуют нативному интерфейсу подключаемых модулей Unity с некоторой дополнительной поддержкой жизненного цикла. Точкой входа является метод UnityPluginLoad. Оттуда поставщик должен зарегистрироваться во всех подсистемах, которые он намеревается внедрить.

extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginLoad(IUnityInterfaces* unityInterfaces) { s_XrDisplay = unityInterfaces->Get(); UnityLifecycleProvider displayLifecycleHandler = { NULL, // This can be any object you want to be passed as userData to the following functions &Lifecycle_Initialize, &Lifecycle_Start, &Lifecycle_Stop, &Lifecycle_Shutdown }; s_XrDisplay->RegisterLifecycleProvider("Provider Plugin Name", "Display0", &displayLifecycleHandler); // Register with other subsystems... }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3