Запустите пример приложения: HoloLens — Visual Studio (C++/WinRT)

В этом кратком руководстве описывается запуск примера приложения Пространственных привязок Azure для HoloLens с помощью Visual Studio (C++/WinRT и DirectX). "Пространственные привязки Azure" — это кроссплатформенная служба разработчика, которая позволяет создавать среды смешанной реальности с применением объектов, не меняющих своего расположения на устройствах с течением времени. По завершении работы с руководством у вас будет приложение HoloLens, которое может сохранять и отзывать пространственные привязки.

Вы изучите следующие темы:

  • создать учетную запись в службе "Пространственные привязки";
  • настроить идентификатор и ключ учетной записи в службе "Пространственные привязки";
  • развернуть и запустить приложение на устройстве HoloLens.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Необходимые компоненты

В рамках этого краткого руководства вам потребуются:

  • Компьютер Windows с установленной программой Visual Studio 2019 или более поздней версии с рабочей нагрузкой Разработка приложений для универсальной платформы Windows и компонентом Пакет SDK для Windows 10 (10.0.18362.0 или более поздняя версия). Необходимо также установить Git для Windows и Git LFS.
  • Установленное расширение Visual Studio C++/WinRT из Visual Studio Marketplace.
  • Устройство HoloLens с включенным режимом разработчика. Для выполнения инструкций из этой статьи требуется устройство HoloLens с обновлением Windows 10 за май 2020 г. Чтобы обновить HoloLens до последней версии, откройте приложение Параметры, перейдите в раздел Обновление и безопасность, а затем нажмите кнопку Проверить обновления.
  • В манифесте AppX приложения необходимо настроить возможность spatialPerception.

Создание ресурса Пространственных привязок

Переход на портал Azure.

В области слева выберите Создать ресурс.

Выполните поиск по запросу Пространственные привязки с помощью поля поиска.

Screenshot showing the results of a search for Spatial Anchors.

Выберите Пространственные привязки, а затем щелкните Создать.

В области Учетная запись Пространственных привязок выполните следующие действия.

  • Введите уникальное имя ресурса, используя обычные буквенно-цифровые символы.

  • Выберите подписку, к которой нужно присоединить ресурс.

  • Создайте группу ресурсов, нажав Создать. Назовите ее myResourceGroup и нажмите ОК.

    Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure (например, веб-приложений, баз данных и учетных записей хранения) и управление ими. Например, в дальнейшем можно удалить всю группу ресурсов при помощи одного простого действия.

  • Выберите расположение (регион), в котором будет размещен ресурс.

  • Выберите Создать, чтобы начать создание ресурса.

Screenshot of the Spatial Anchors pane for creating a resource.

После создания ресурса на портале Azure отобразится оповещение о завершении развертывания.

Screenshot showing that the resource deployment is complete.

Выберите Перейти к ресурсу. Теперь можно просмотреть свойства ресурса.

Скопируйте значение идентификатора учетной записи ресурса в текстовый редактор для дальнейшего использования.

Screenshot of the resource properties pane.

Скопируйте также значение домена учетной записи ресурса в текстовый редактор для дальнейшего использования.

Screenshot showing the resource's account domain value.

В разделе Параметры выберите элемент Ключ доступа. Скопируйте значение первичного ключа (ключа учетной записи) в текстовый редактор для дальнейшего использования.

Screenshot of the Keys pane for the account.

Открытие примера проекта

Клонируйте репозиторий примеров, выполнив следующие команды:

git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples

Откройте HoloLens\DirectX\SampleHoloLens.sln в Visual Studio.

Настройка идентификатора и ключа учетной записи

Следующим шагом является настройка приложения для использования идентификатора вашей учетной записи и ключа учетной записи. Вы скопировали их в текстовый редактор, когда выполняли настройку ресурсов пространственных привязок.

Открыть HoloLens\DirectX\SampleHoloLens\ViewController.cpp.

Найдите поле SpatialAnchorsAccountKey и замените Set me ключом учетной записи.

Найдите поле SpatialAnchorsAccountId и замените Set me идентификатором учетной записи.

Найдите поле SpatialAnchorsAccountDomain и замените Set me доменом учетной записи.

Развертывание приложения в HoloLens

Укажите для параметра Solution Configuration (Конфигурация решения) значение Release (Выпуск), а для параметра Solution Platform (Платформа решения) значение x86 и выберите Device (Устройство) в списке целевых вариантов развертывания.

При использовании HoloLens 2 платформой решения будет ARM64, а не x86.

Visual Studio Configuration

Включите устройство HoloLens, войдите и подключите его к ПК с помощью USB-кабеля.

Выберите Debug>Start debugging (Отладка > Начать отладку), чтобы развернуть приложение и запустить отладку.

Следуйте инструкциям в программе для размещения и отзыва привязки.

В Visual Studio остановите приложение, выбрав Остановить отладку или нажав клавиши SHIFT+F5.

Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы считаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов.

В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.

На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.

Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.

Следующие шаги

В этом кратком руководстве вы создали учетную запись Пространственных привязок. Затем вы настроили и развернули приложение для сохранения и повторного вызова пространственных привязок. Дополнительные сведения о том, как улучшить приложение таким образом, чтобы оно совместно использовало пространственные привязки с другими устройствами, см. в следующем руководстве.