Локальные пространственные привязки в Unreal
Пространственные привязки позволяют размещать в реальных пространствах голограммы, которые сохраняются между сеансами работы с приложением как ARPin. После сохранения в хранилище привязок HoloLens ARPin можно загрузить в будущие сеансы. Это идеальный вариант отката при отсутствии подключения к Интернету.
Примечание
Функции объектов из UE 4.25 считаются устаревшими в 4.26. Используйте новые функции.
Важно!
Локальные привязки хранятся на устройстве, а пространственные привязки Azure сохраняются в облаке. Если вы хотите использовать облачные службы Azure для хранения привязок, мы предоставляем документ, который поможем вам в интеграции Пространственных привязок Azure. Обратите внимание, что вы можете использовать локальные привязки и привязки Azure в одном проекте без каких-либо конфликтов.
Предварительные требования
Важно!
Для пространственных привязок требуется подключаемый модуль 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.