Unity 6.3
0 онлайн 106 гостей 3 в системе
Вход
XR Шаг 6 из 36

XR архитектура

Unity поддерживает разработку XR с помощью фреймворка плагинов и набора пакетов функций и инструментов. Перейдите в категорию XR Plug-in Management в Project Настройки, чтобы включить поддержку XR в проекте Unity и выбрать плагины для платформ XR, поддерживаемых вашим проектом. Используйте Unity Package Manager для установки дополнительных пакетов функций.

Следующая диаграмма иллюстрирует структуру фреймворка плагина Unity XR и его работу с реализациями поставщика платформы:

Unity XR структура рамочной структуры плагина
Unity XR структура рамочной структуры плагина

Подсистемы XR задают общий интерфейс для возможностей XR. Плагины XR реализуют эти интерфейсы подсистем и передают им данные во время выполнения. Ваше XR-приложение обращается к данным той или иной возможности через API движка Unity и пакетов. Учтите, что на схеме приведён не полный список подсистем XR.

XR Фреймворк поставщика плагинов

Плагин поставщика XR — это плагин Unity, поддерживающий одну или несколько платформ устройств XR. Например, плагины поставщиков для конкретных платформ включают плагины Unity OpenXR: Цель (для устройств Meta Quest), Unity OpenXR: Android XR (для устройств Android XR) и плагин Apple visionOS XR, которые поддерживают экосистемы соответствующих устройств.

Плагин поставщика XR реализует один или несколько интерфейсов, называемых подсистемами. Как правило, плагин поставщика использует библиотеки системного уровня платформы устройства для реализации интерфейсов Unity для своих устройств.

Замечание об архитектуре ввода: В стеке ввода существует структурное разделение. Команда Unity Engine управляет более высокоуровневым кросс-платформенным стеком ввода (через Unity Input System), в то время как плагины платформы XR владеют низкоуровневым, специфическим для платформы кодом ввода для своих соответствующих устройств.

Unity использует интерфейсы подсистемы для связи с поставщиками для различных платформ, обеспечивая функции XR вашего приложения. Благодаря этим интерфейсам вы можете повторно использовать один и тот же код функции в вашем приложении на всех устройствах XR, имеющих поставщика для этой функции.

Подсистемы

Подсистемы XR дают доступ к возможностям XR в вашем приложении Unity. Unity задаёт общий интерфейс подсистем XR, поэтому все плагины поставщиков, реализующие ту или иную возможность, в вашем приложении работают в целом одинаково. Часто достаточно сменить активного поставщика и пересобрать приложение, чтобы оно заработало на другой платформе XR.

Мотор Unity определяет набор основных подсистем XR. Пакеты Unity могут предоставлять дополнительные подсистемы. Например, пакеты XR Слои Композиции и XR Руки являются основными пакетами, предоставляющими дополнительные интерфейсы подсистем, необходимые для рабочих процессов XR.

Подсистемы, определенные в движке Unity, включают:

Подсистема Описание
XRDisplaySubsystem Обрабатывает функции отображения, отображения и управления конфигурациями представления устройства.
XRInputSubsystem Обеспечивает низкоуровневый доступ к входам устройств и данным отслеживания для гарнитур и контроллеров.
XRMeshSubsystem Извлечение и генерация мешей, представляющих физическую среду для дополненной и смешанной реальности.