クイックスタート: ネイティブ C++ WMR サンプルを HoloLens にデプロイする

このクイックスタートでは、ネイティブ C++ Windows Mixed Reality (WMR) チュートリアル アプリケーションを HoloLens 2 にデプロイして実行する方法について説明します。

このクイックスタートでは、次の方法について説明します。

  • HoloLens のチュートリアル アプリケーションをビルドする。
  • ソース コードで Azure Remote Rendering 資格情報を変更する。
  • デバイスにサンプルをデプロイして実行する。

前提条件

Remote Rendering サービスにアクセスするには、まずアカウントを作成する必要があります。

次のソフトウェアがインストールされている必要があります。

Remote Rendering のサンプル リポジトリをクローンする

最初に、グローバル Azure Remote Rendering サンプルを含む Git リポジトリをクローンします。 Windows の [スタート] メニューで cmd と入力して、コマンド プロンプト ウィンドウを開きます。 ARR サンプル プロジェクトを格納するディレクトリに移動します。

次のコマンドを実行します。

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

最後のコマンドにより、Azure Remote Rendering 用のさまざまなサンプル プロジェクトを含むフォルダーが ARR フォルダーに作成されます。

C++ HoloLens チュートリアルは、NativeCpp/HoloLens-Wmr フォルダーにあります。

プロジェクトをビルドする

NativeCpp/HoloLens-Wmr フォルダーに格納されているソリューション ファイル HolographicApp.sln を Visual Studio で開きます。

ビルド構成は、"デバッグ" (または "リリース") と ARM64 に切り替えます。 デバッガー モードが "リモート マシン" ではなく "デバイス" に設定されていることを確認してください。

説明されている値を含む Visual Studio 構成領域を示すスクリーンショット。

チュートリアルのソース コードではアカウントの資格情報がハードコーディングされているため、有効な資格情報に変更します。 Visual Studio 内で HolographicAppMain.cpp ファイルを開き、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.AccountIdinit.AccountKeyinit.AccountDomain に使用するアカウント データを実際の値に変更します。 アカウント情報の取得方法に関するセクションを参照してください。
  • リージョンwestus2 以外である場合は、init.RemoteRenderingDomain 文字列のリージョン部分を変更して、リモート レンダリング セッションを作成する場所を指定します (例: "westeurope.mixedreality.azure.com")。
  • 加えて、m_sessionOverride を既存のセッション ID に変更することができます。 セッションは、このサンプルの外部で作成できます。 詳細については、RenderingSession.ps1 に関する記事、または「セッション管理 REST API を使用する」を直接参照してください。

サンプルを複数回実行する必要がある場合は、サンプルの外部でセッションを作成するようお勧めします。 セッションが渡されない場合、起動のたびにセッションがサンプルによって作成されます。これには数分かかる場合があります。

これで、アプリケーションをコンパイルできます。

アプリケーションの起動

  1. USB ケーブルで HoloLens をお使いの PC に接続します。
  2. HoloLens の電源をオンにし、スタート メニューが表示されるまで待ちます。
  3. Visual Studio のデバッガーを開始します (F5)。 これにより、アプリがデバイスに自動的にデプロイされます。

サンプル アプリが起動して、現在のアプリケーション状態を通知するテキスト パネルが表示されます。 起動時の状態は、新しいセッションの開始中か、既存のセッションへの接続中のどちらかとなります。 モデルの読み込みが終了すると、組み込みのエンジン モデルがちょうど頭の位置に表示されます。 エンジン モデルとローカルにレンダリングされた回転キューブとが、オクルージョンに関してしっかりと相互に作用し合います。

後でサンプルをもう一度起動する場合は、HoloLens のスタート メニューから見つけることもできます。 これには、有効期限が切れたセッション ID がコンパイルされている可能性があります。

次のステップ

このクイックスタートは、Remote Rendering に関連したあらゆる要素をストック "ホログラフィック アプリ" に統合する方法について説明するチュートリアルの結果を基にしています。 必要な手順については、次のチュートリアルに従ってください。