Краткое руководство. Развертывание примера собственного приложения WMR на C++ в HoloLens

В этом кратком руководстве описано, как развернуть и запустить собственное приложение C++ Windows Mixed Reality (WMR) на HoloLens 2.

Из этого краткого руководства вы узнаете, как выполнять следующие задачи:

  • создание учебного приложения для HoloLens;
  • Измените учетные данные azure Удаленная отрисовка в исходном коде.
  • развертывание и запуск примера на устройстве.

Предварительные требования

Чтобы получить доступ к службе Удаленная отрисовка, сначала необходимо создать учетную запись.

Необходимо установить следующее программное обеспечение:

Клонирование репозитория примеров Удаленная отрисовка

В качестве первого шага клонируйте репозиторий Git, в котором хранятся глобальные примеры azure Удаленная отрисовка. Введите cmd в меню "Пуск" Windows, чтобы открыть окно командной строки. Перейдите в каталог, в котором вы хотите сохранить пример проекта ARR.

Выполните следующие команды:

mkdir ARR
cd ARR
git clone https://github.com/Azure/azure-remote-rendering

Последняя команда создает папку в папке ARR, содержащую различные примеры проектов для Azure Удаленная отрисовка.

Руководство по C++ HoloLens можно найти в папке NativeCpp/HoloLens-Wmr.

Построение проекта

Откройте файл решения HolographicApp.sln , расположенный в папке NativeCpp/HoloLens-Wmr , с помощью Visual Studio.

Включите конфигурацию сборки Debug (Отладка) или Release (Выпуск) и укажите платформу ARM64. Убедитесь, что для режима отладчика задано значение Устройство , а не Удаленный компьютер:

Снимок экрана: область конфигурации Visual Studio со значениями, как описано выше.

Так как учетные данные учетной записи жестко задаются в исходном коде учебника, укажите вместо них действительные учетные данные. Откройте файл HolographicAppMain.cpp в Visual Studio и измените часть, в которой создается клиент в конструкторе класса HolographicAppMain:

// 2. Create Client
{
    // Users need to fill out the following with their account data and model
    RR::SessionConfiguration init;
    init.AccountId = "00000000-0000-0000-0000-000000000000";
    init.AccountKey = "<account key>";
    init.RemoteRenderingDomain = "westus2.mixedreality.azure.com"; // <change to the region that the rendering session should be created in>
    init.AccountDomain = "westus2.mixedreality.azure.com"; // <change to the region the account was created in>
    m_modelURI = "builtin://Engine";
    m_sessionOverride = ""; // If there is a valid session ID to re-use, put it here. Otherwise a new one is created
    m_client = RR::ApiHandle(RR::RemoteRenderingClient(init));
}

В частности, измените следующие значения:

  • init.AccountId, init.AccountKey и init.AccountDomain должны содержать данные для вашей учетной записи. См. раздел о том, как получить сведения об учетной записи.
  • Укажите, где следует создать сеанс удаленной подготовки к отрисовке, изменив указывающую на регион часть в строке init.RemoteRenderingDomain на регионы, отличные от westus2, например "westeurope.mixedreality.azure.com".
  • Кроме того, вместо m_sessionOverride можно указать существующий идентификатор сеанса. Сеансы можно создавать вне этого примера. Дополнительные сведения см. в разделахRenderingSession.ps1 или Использование REST API управления сеансами напрямую.

Мы рекомендуем создавать сеанс за пределами примера, если его нужно выполнять несколько раз. Если сеанс не передается, пример создает сеанс при каждом запуске, что может занять несколько минут.

Теперь можно скомпилировать приложение.

Запуск приложения

  1. Подключите HoloLens к компьютеру по USB-кабелю.
  2. Включите HoloLens и подождите, пока появится начальное меню.
  3. Запустите отладчик в Visual Studio (клавиша F5). Приложение автоматически развертывается на устройстве.

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

Если вы хотите снова запустить пример позже, его также можно найти в меню "Пуск" HoloLens. В него может быть скомпилирован идентификатор сеанса с истекшим сроком действия.

Дальнейшие действия

Это краткое руководство основано на результатах, полученных при работе с руководством по интеграции всех элементов службы "Удаленная отрисовка" с базовым примером Holographic App. Необходимые действия собраны в следующем руководстве: