Руководство. Совместное использование пространственных привязок между сеансами и устройствами
"Пространственные привязки Azure" — это кроссплатформенная служба разработчика, которая позволяет создавать среды смешанной реальности с применением объектов, не меняющих своего расположения на устройствах с течением времени.
В этом руководстве описано, как использовать Пространственные привязки Azure, чтобы создавать привязки во время одного сеанса, а затем обнаруживать их на том же или на другом устройстве. Те же самые привязки могут быть одновременно обнаружены несколькими устройствами в одном и том же расположении.
Из этого руководства вы узнаете, как выполнять следующие задачи:
- Развертывание в Azure веб-приложения ASP.NET Core, которое можно применять для совместного использования привязок и сохранения привязок в памяти в течение указанного периода времени.
- Настройка сцены AzureSpatialAnchorsLocalSharedDemo в примере Unity из наших кратких руководств для использования преимуществ веб-приложения для совместного использования пространственных привязок.
- Развертывание и запуск привязок на одном или нескольких устройствах.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Необходимые компоненты
Для работы с этим учебником необходимо следующее:
- Знакомство со статьей Описание службы "Пространственные привязки Azure".
- Прохождение одного из 5-минутных руководств.
Примечание.
Краткие руководства по Android/NDK и iOS/Swift сейчас не содержат сведения о возможностях, описанных в этом руководстве.
- Базовое знание любого из следующих вариантов:
- Компьютер Windows с Visual Studio 2019 или более поздней версии с рабочей нагрузкой ASP.NET и разработка веб-приложений.
- Пакет SDK для .NET Core 3.1.
- Одно или несколько следующих устройств, на которых необходимо развернуть и запустить приложение: HoloLens, HoloLens 2, iOS или Android.
Примечание.
В этом учебнике описано, как использовать Unity и веб-приложение ASP.NET Core, однако описанный здесь подход — это лишь пример того, как можно совместно использовать идентификаторы Пространственных привязок Azure на других устройствах. Вы можете использовать другие языки и серверные технологии в тех же целях.
Создание ресурса Пространственных привязок
Переход на портал Azure.
В области слева выберите Создать ресурс.
Выполните поиск по запросу Пространственные привязки с помощью поля поиска.
Выберите Пространственные привязки, а затем щелкните Создать.
В области Учетная запись Пространственных привязок выполните следующие действия.
Введите уникальное имя ресурса, используя обычные буквенно-цифровые символы.
Выберите подписку, к которой нужно присоединить ресурс.
Создайте группу ресурсов, нажав Создать. Назовите ее myResourceGroup и нажмите ОК.
Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure (например, веб-приложений, баз данных и учетных записей хранения) и управление ими. Например, в дальнейшем можно удалить всю группу ресурсов при помощи одного простого действия.
Выберите расположение (регион), в котором будет размещен ресурс.
Выберите Создать, чтобы начать создание ресурса.
После создания ресурса на портале Azure отобразится оповещение о завершении развертывания.
Выберите Перейти к ресурсу. Теперь можно просмотреть свойства ресурса.
Скопируйте значение идентификатора учетной записи ресурса в текстовый редактор для дальнейшего использования.
Скопируйте также значение домена учетной записи ресурса в текстовый редактор для дальнейшего использования.
В разделе Параметры выберите элемент Ключ доступа. Скопируйте значение первичного ключа (ключа учетной записи) в текстовый редактор для дальнейшего использования.
Скачивание примера проекта и пакета SDK для импорта
Клонирование репозитория примеров
Клонируйте репозиторий примеров, выполнив следующие команды:
git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples
Импорт пакета SDK ASA
Следуйте приведенным здесь инструкциям, чтобы скачать и импортировать пакеты SDK для ASA, необходимые для платформы HoloLens.
Развертывание службы совместного использования привязок
Примечание.
В этом руководстве мы будем использовать бесплатный уровень службы приложение Azure. Уровень "Бесплатный" истекает через 20 минут бездействия и сбросит кэш памяти.
Откройте Visual Studio, а затем откройте проект в папке Sharing\SharingServiceSample.
Запуск мастера публикации
В Обозреватель решений щелкните правой кнопкой мыши проект ShareService и выберите "Опубликовать...".
Запустится мастер публикации.
- Выберите "Целевой объект Azure>Далее".
- Выберите конкретную целевую службу приложение Azure (Windows)>Далее
- Войдите на портал Azure.
- Выберите зеленый "+" для создания службы приложение Azure
Параметры службы приложений
Параметр | Предлагаемое значение | Описание: |
---|---|---|
Имя. | myASASharingService | Присвойте службе уникальное имя |
Название подписки | Выберите предпочитаемую подписку Azure | |
Группа ресурсов | myResourceGroup или выберите существующую. | Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure (например, веб-приложений, баз данных и учетных записей хранения) и управление ими. Например, в дальнейшем можно удалить всю группу ресурсов при помощи одного простого действия. |
План размещения | Выберите "Создать" и см. таблицу ниже | План службы приложений указывает расположение, размер и функции фермы веб-серверов, в которой размещается приложение. Вы можете сэкономить деньги при размещении нескольких приложений, настроив веб-приложения для совместного использования одного плана Служба приложений plan.Служба приложений определить:
|
Параметры плана размещения
Параметр | Предлагаемое значение | Description |
---|---|---|
План размещения | MySharingServicePlan | Присвойте плану размещения уникальное имя |
Расположение | западная часть США | Центр обработки данных, где размещается веб-приложение. Выберите расположение, ближайшее к физическому расположению приложения, будет использоваться |
Размер | Бесплатно | Ценовая категория, которая определяет возможности размещения |
- Выберите "Создать", чтобы создать Служба приложений
- После создания службы приложений выберите ее в списке "Экземпляры службы приложений" и нажмите кнопку "Готово"
- На вкладке "Общий доступ" выберите "Опубликовать"
После публикации веб-приложения ASP.NET Core в Azure можно перейти https://<your_app_name>.azurewebsites.net
или щелкнуть ссылку рядом с сайтом: на вкладке "ShareService: публикация". Скопируйте этот URL-адрес в текстовый редактор для последующего использования.
Настройка и развертывание примера приложения
Открытие проекта
В Unity откройте проект в папке Unity. Unity может уведомить вас о разнице между версией в проекте и версией, установленной на компьютере. Это предупреждение допустимо, если версия Unity Editor новее, чем та, с помощью которой создан проект. В таком случае выберите Continue (Продолжить). Если ваша версия старше, чем требуется проекту, щелкните Quit (Выйти) и обновите Unity Editor.
Настройка параметров сборки
Откройте Build Settings (Параметры сборки), выбрав пункты File>Build Settings (Файл > Параметры сборки).
В разделе Platform (Платформа) выберите Universal Windows Platform (Универсальная платформа Windows). Измените целевое устройство на HoloLens.
Выберите Switch Platform (Изменить платформу), чтобы изменить значение на Universal Windows Platform (Универсальная платформа Windows). Если отсутствуют какие-то дополнительные компоненты UWP, Unity может запросить их установку.
Закройте окно Build Settings (Параметры сборки).
Настройка сведений об учетной записи
Следующим шагом является настройка приложения для использования данных вашей учетной записи. Вы скопировали значения ключа учетной записи, идентификатора учетной записии домена учетной записи в текстовый редактор, как указано ранее в разделе Создание ресурса Пространственных привязок.
В области Проект перейдите к Assets\AzureSpatialAnchors.SDK\Resources
.
Выберите SpatialAnchorConfig. В области Инспектор введите Account Key
в качестве значения ключа учетной записи Пространственных привязок, Account ID
в качестве значения идентификатора учетной записи Пространственных привязок и Account Domain
в качестве значения домена учетной записи Пространственных привязок.
Откройте сцену с именем AzureSpatialAnchorsLocalSharedDemo , найдя ее Assets/AzureSpatialAnchors.Examples/Scenes/AzureSpatialAnchorsLocalSharedDemo
, дважды щелкнув ее на панели проекта
На панели "Проект" перейдите в раздел Assets\AzureSpatialAnchors.Examples\Resources
.
Выберите SpatialAnchorSamplesConfig. Затем в области Inspector (Инспектор) введите URL-адрес Sharing Anchors Service
(из развертывания веб-приложения ASP.NET в Azure) в качестве значения для Base Sharing Url
. Добавьте URL-адрес с /swagger/api/anchors
помощью . Результат будет выглядеть так: https://<your_app_name>.azurewebsites.net/swagger/api/anchors
.
Сохраните сцену, выбрав File>Save (Файл > Сохранить).
Экспорт и развертывание приложения HoloLens
Откройте Build Settings (Параметры сборки), выбрав пункты File>Build Settings (Файл > Параметры сборки).
В разделе Scenes In Build (Сцены в сборке) убедитесь, что возле всех сцен установлен флажок.
Выберите Build (Сборка). В диалоговом окне выберите папку для экспорта проекта HoloLens в Visual Studio.
После завершения экспорта появится папка, содержащая экспортированный проект HoloLens.
Чтобы открыть проект в Visual Studio, дважды щелкните HelloAR U3D.sln в папке.
Укажите для параметра Solution Configuration (Конфигурация решения) значение Release (Выпуск), а для параметра Solution Platform (Платформа решения) значение x86 и выберите Device (Устройство) в списке целевых вариантов развертывания.
При использовании HoloLens 2 платформой решения будет ARM64, а не x86.
Включите устройство HoloLens, войдите и подключите его к компьютеру с помощью USB-кабеля.
Выберите Debug>Start debugging (Отладка > Начать отладку), чтобы развернуть приложение и запустить отладку.
Запуск приложения
В приложении выберите LocalSharedDemo со стрелками, а затем нажмите кнопку Go! для запуска демонстрации. Следуйте инструкциям для размещения и отзыва привязки.
С помощью действия создания привязки и предоставления к ней общего доступа вы можете создать привязку и сохранить ее в службе общего доступа. Вы получите идентификатор, который можно использовать для получения из службы общего доступа. Затем можно запустить второй сценарий для поиска общей привязки на вашем или другом устройстве.
Сценарий поиска общей привязки позволяет находить ранее предоставленные в общий доступ привязки по значению идентификатора, который мы упоминали выше. Когда вы выберете сценарий, в приложении отобразятся дальнейшие инструкции. Например, вам будет предложено переместить устройство, чтобы собрать информацию о среде. Затем вам нужно будет разместить привязку в окружающей среде, подождать, пока она сохраниться, начать новый сеанс и найти ее.
Очистка ресурсов
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы считаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов.
В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.
На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.
Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.
Следующие шаги
Из этого учебника вы узнали, как развернуть веб-приложение ASP.NET Core в Azure, а затем настроить и развернуть приложение Unity. Вы знаете, как создать в приложении пространственные привязки и предоставить к ним доступ другим устройствам с помощью веб-приложения ASP.NET Core.
Вы можете улучшить веб-приложение ASP.NET Core, чтобы оно использовало Azure Cosmos DB для хранения хранилища общих идентификаторов пространственных привязок. Добавив поддержку Azure Cosmos DB, вы можете создать привязку в веб-приложении ASP.NET Core уже сегодня. Затем, благодаря идентификатору привязки, хранящемуся в веб-приложении, вы может вернуться к приложению через несколько дней и найти привязку снова.