Локальные пространственные привязки в Unreal
Пространственные привязки позволяют размещать в реальных пространствах голограммы, которые сохраняются между сеансами работы с приложением как ARPin. После сохранения в хранилище привязок HoloLens ARPin можно загрузить в будущие сеансы. Это идеальный вариант отката при отсутствии подключения к Интернету.
Примечание.
Функции объектов из UE 4.25 считаются устаревшими в 4.26. Используйте новые функции.
Необходимые компоненты
Внимание
Для пространственных привязок требуется подключаемый модуль Microsoft OpenXR.
Необходимо использовать подключаемый модуль Microsoft OpenXR, доступный в Unreal Marketplace или GitHub.
Проверка хранилища привязок
Перед сохранением или загрузкой привязок обязательно убедитесь, что хранилище привязок подготовлено. Попытка вызвать любую из функций привязки в HoloLens при неготовности хранилища завершится ошибкой.
Сохранение привязок
Когда в приложении появится компонент, который вам нужно будет прикрепить к положению в реальном мире, сохраните его в хранилище привязок с помощью следующей последовательности:
Порядок действий:
Породите субъект в известном расположении.
Создайте элемент ARPin с этим расположением и именем, основанным на классе субъекта.
Добавьте соответствующий субъект в ARPin и сохраните полученный элемент в хранилище привязок HoloLens.
- Для привязки необходимо выбрать уникальное имя, поэтому в нашем примере к имени добавляется текущая метка времени.
Привязка, успешно сохраненная в хранилище, отображается на портале устройства HoloLens в разделе System > Map manager > Anchor Files Saved On Device (Система > Диспетчер карт > Сохраненные на устройстве файлы привязок).
Загрузка привязок
При запуске приложения можно вызвать следующую схему, чтобы восстановить все компоненты в местах соответствующих привязок:
Порядок действий:
Выполните перечисленные ниже шаги для всех привязок в хранилище.
Породите субъект без преобразований.
Прикрепите субъект к элементу ARPin из хранилища привязок.
- Здесь важно порождать субъект без преобразований, так как привязка отвечает за размещение голограммы в мире в том месте, где она была сохранена. Любое преобразование на этом этапе добавит к нашей привязке ненужное смещение.
Идентификатор привязки также запрашивается, чтобы мы могли порождать разные субъекты в зависимости от сохраненного имени привязки.
Удаление привязок
Когда вы закончите с привязкой, то можете очистить отдельные привязки или очистить все хранилище привязок с помощью компонентов Remove ARPin from WMRAnchor Store (Удаление ARPin из хранилища WMRAnchor) и Remove All ARPins from WMRAnchor Store (Удаление всех элементов ARPin из хранилища WMRAnchor).
Примечание.
Имейте в виду, что функциональность пространственных привязок находится пока в стадии бета-версии, поэтому стоит возвращаться сюда время от времени за новой информацией.
Следующий этап разработки
Если вы следуете изложенным нами инструкциям по разработке для Unreal, вы как раз прошли половину в изучении основных стандартных блоков MRTK. Здесь вы можете перейти к Смешанная реальность возможностям платформы и API:
Вы можете в любой момент вернуться к этапам разработки для Unreal.