Guida introduttiva: Distribuire un esempio WMR C++ nativo in HoloLens

Questa guida introduttiva illustra come distribuire ed eseguire l'applicazione nativa di esercitazione di C++ Windows Mixed Reality (WMR) in un HoloLens 2.

In questa guida introduttiva si apprenderà come:

  • Compilare l'applicazione per l'esercitazione per HoloLens.
  • Modificare le credenziali di Azure Rendering remoto nel codice sorgente.
  • Distribuire ed eseguire l'esempio nel dispositivo.

Prerequisiti

Per ottenere l'accesso al servizio Rendering remoto, è prima necessario creare un account.

È necessario installare il software seguente:

Clonare il repository di esempi di Rendering remoto

Come primo passaggio, clonare il repository Git, che ospita gli esempi globali di Azure Rendering remoto. Digitare cmd il menu Start di Windows per aprire una finestra del prompt dei comandi. Passare a una directory in cui si vuole archiviare il progetto di esempio ARR.

Eseguire i comandi seguenti:

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

L'ultimo comando crea una cartella nella cartella ARR che contiene i vari progetti di esempio per Azure Rendering remoto.

L'esercitazione su HoloLens C++ è disponibile nella cartella NativeCpp/HoloLens-Wmr.

Compilare il progetto

Aprire il file di soluzione HolographicApp.sln nella cartella NativeCpp/HoloLens-Wmr con Visual Studio.

Impostare la configurazione della build su Debug (o Rilascio) e ARM64. Assicurarsi che la modalità debugger sia impostata su Dispositivo anziché su Computer remoto:

Screenshot che mostra l'area di configurazione di Visual Studio con i valori come descritto.

Poiché le credenziali dell'account sono hardcoded nel codice sorgente dell'esercitazione, sostituirle con credenziali valide. Aprire il file HolographicAppMain.cpp in Visual Studio e modificare la parte in cui viene creato il client all'interno del costruttore della classe 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));
}

Nello specifico, modificare i valori seguenti:

  • init.AccountId, init.AccountKey e init.AccountDomain per usare i dati dell'account. Vedere la sezione su come recuperare le informazioni sull'account.
  • Specificare dove creare la sessione di rendering remoto modificando la parte dell'area init.RemoteRenderingDomain della stringa per altre aree diverse da westus2, ad esempio "westeurope.mixedreality.azure.com".
  • Inoltre, è possibile sostituire m_sessionOverride con un ID di sessione esistente. Le sessioni possono essere create all'esterno di questo esempio. Per altre informazioni, vedere RenderingSession.ps1 o Usare direttamente l'API REST di gestione delle sessioni .

È consigliabile creare una sessione all'esterno dell'esempio quando l'esempio deve essere eseguito più volte. Se non viene passata alcuna sessione, l'esempio crea una sessione all'avvio, che può richiedere alcuni minuti.

A questo punto è possibile compilare l'applicazione.

Avviare l'applicazione

  1. Connettere il dispositivo HoloLens con un cavo USB al PC.
  2. Accendere il dispositivo HoloLens e attendere che venga visualizzato il menu Start.
  3. Avviare il debugger in Visual Studio (F5). Distribuisce automaticamente l'app nel dispositivo.

L'app di esempio viene avviata e viene visualizzato un pannello di testo che indica lo stato corrente dell'applicazione. Lo stato all'avvio è l'avvio di una nuova sessione o la connessione a una sessione esistente. Al termine del caricamento del modello, il modello di motore predefinito viene visualizzato direttamente nella posizione della testa. Il modello di motore interagisce correttamente con il cubo rotante di cui viene eseguito il rendering localmente.

Se si vuole avviare di nuovo l'esempio in un secondo momento, è anche possibile trovarlo dal menu Start di HoloLens. Potrebbe essere stato compilato un ID sessione scaduto.

Passaggi successivi

Questo argomento di avvio rapido è basato sul risultato di un'esercitazione che illustra come integrare tutti i componenti di Rendering remoto in un'app olografica standard. Per informazioni sui passaggi necessari, seguire questa esercitazione: