Meta XR Interaction SDK Essentials предоставляет основные реализации всех моделей взаимодействия вместе с необходимыми шейдерами, материалами и prefab.
Примечание. Некоторые функции поддерживаются только для Meta XR Interaction SDK с Meta XR Core SDK. Meta XR Interaction SDK Essentials с Unity XR не поддерживает полный набор функций взаимодействия, но предлагает возможность поддержки разных платформ. Информацию о начале работы с Interaction SDK с Meta XR Core SDK см. в статье Начало работы с Interaction SDK.
Настройка проекта
При установке Interaction SDK и OpenXR через зависимости XR Hand необходимо включить OpenXR.
В разделе Interaction Profiles (Профили взаимодействия) нажмите на значок +, чтобы добавить и включить нужные профили, например Oculus Touch Controller Profile (Профиль контроллера Oculus Touch) и Meta Quest Touch Pro Controller Profile (Профиль контроллера Meta Quest Touch Pro).
В OpenXR Feature Groups (Группы функций OpenXR) включите:
Инструмент проверки проекта оптимизирует настройки проекта. Он применяет необходимые настройки для настроенных зависимостей.
Добавление рига
В Interaction SDK риг — это заранее определенная коллекция объектов GameObject, которая позволяет вам видеть виртуальное окружение и инициировать такие действия, как взятие, телепортация и нажатие. Prefab UnityXRInteractionComprehensive содержит этот риг. Он интегрирует многие основные взаимодействия и предлагаемые Interaction SDK функции, подключенные в соответствии с рекомендациями, включая поддержку нажатий, лучей, а также нескольких типов взятия и локомоции. Он также добавляет в вашу сцену поддержку рук, контроллеров и рук, управляемых контроллерами.
Он должен быть дочерним элементом существующего рига XR Origin, который управляет системой камеры и отслеживанием движений головы через среду выполнения OpenXR в Unity. В качестве альтернативы можно использовать prefab UnityXRCameraRigInteraction. Он объединяет XR Origin и UnityXRInteractionComprehensive, что позволяет настроить всё путем перетаскивания.
Мы рекомендуем использовать быстрые действия Interaction SDK, а не добавлять эти prefab в сцену вручную.
Поскольку Interaction SDK использует собственный риг камеры, удалите назначенный по умолчанию объект Main Camera (Основная камера) (если таковой имеется).
Нажмите правой кнопкой мыши в дереве и выберите Interaction SDK > Add UnityXR Interaction Rig (Добавить риг взаимодействия UnityXR).
Если в диалоговом окне Unity XR Interaction Rig включена опция Fix All (Исправить всё), нажмите на нее, чтобы создать риг камеры.
Нажмите Create (Создать), чтобы добавить в сцену риг взаимодействия UnityXR.
Тестирование взаимодействия с помощью Meta Horizon Link
Нажмите Open Scene List (Открыть список сцен), чтобы открыть окно Scene List (Список сцен).
Добавьте свою сцену в список Scene List (Список сцен). Для этого перетащите ее из панели Project (Проект) или нажмите yf кнопку Add Open Scenes (Добавить открытые сцены).
Нажмите Build and Run (Создать и запустить), чтобы сгенерировать файл .apk и запустить его на гарнитуре. Откроется Проводник. Выберите в нем место для сохранения файла .apk и укажите для него имя. Компиляция файла может занять несколько минут.
Основные различия между Interaction SDK с Meta XR Core SDK и с Unity XR
Interaction SDK создан для работы на Meta XR Core SDK, который теперь поддерживает Unity XR. Однако Unity XR не имеет доступа ко всем функциям устройств Meta. Для доступа ко всем функциям устройства Meta необходимо установить Meta XR Core SDK, так как некоторые инструменты Interaction SDK зависят от Core SDK.
Источники данных
В примерах пакета Unity XR имеется единственный комплексный пример сцены, но это не накладывает ограничение на интеграцию Unity XR. Для многих сцен Interaction SDK Core SDK Sample можно поменять источники ввода данных руки и гарнитуру на источник Unity XR, и они будут работать точно так же.
FromUnityXRHandDataSource и FromUnityXRHmdDataSource — это компоненты класса MonoBehavior. Они берут данные OpenXR, предоставляемые через XR Hands или XROrigin, и преобразуют их в формат данных Core SDK, который ожидает Interaction SDK.
Дополнительная информация
Подробнее о ключевых понятиях Interaction SDK см. в статье Обзор архитектуры.
Дальнейшие действия
Добавьте несколько GameObjects и возможность взаимодействия с ними, используя быстрые действия.