Snabbstart: Distribuera ett inbyggt C++ WMR-exempel till HoloLens

Den här snabbstarten beskriver hur du distribuerar och kör det inbyggda självstudieprogrammet C++ WMR (Windows Mixed Reality) på en HoloLens 2.

I den här snabbstarten lär du dig att:

  • Skapa självstudieprogrammet för HoloLens.
  • Ändra ARR-autentiseringsuppgifterna i källkoden.
  • Distribuera och kör exemplet på enheten.

Förutsättningar

För att få åtkomst Azure Remote Rendering-tjänsten måste du först skapa ett konto.

Följande programvara måste vara installerad:

Klona lagringsplatsen ARR-exempel

Som ett första steg klonar vi Git-lagringsplatsen, som innehåller globala Azure Remote Rendering exempel. Öppna en kommandotolk (skriv Windows startmenyn) och ändra till en katalog där du vill cmd lagra ARR-exempelprojektet.

Kör följande kommandon:

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

Det sista kommandot skapar en underkatalog i ARR-katalogen som innehåller de olika exempelprojekten för Azure Remote Rendering.

Självstudien om C++ HoloLens finns i underkatalogen NativeCpp/HoloLens-Wmr.

Bygga projektet

Öppna lösningsfilen HolographicApp.sln som finns i underkatalogen NativeCpp/HoloLens-Wmr med Visual Studio 2019.

Växla byggkonfigurationen till Felsök (eller Version) och ARM64. Kontrollera också att felsökningsläget är inställt på Enhet i stället för Fjärrdator:

Visual Studio konfiguration

Eftersom kontoautentiseringsuppgifterna är hårdkodade i självstudiens källkod ändrar du dem till giltiga autentiseringsuppgifter. För att göra det öppnar du filen Visual Studio och ändrar den del HolographicAppMain.cpp där klienten skapas inuti konstruktorn för klassen 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));
}

Mer specifikt ändrar du följande värden:

  • init.AccountId, init.AccountKey och för att använda dina init.AccountDomain kontodata. Se stycket om hur du hämtar kontoinformation.
  • Ange var fjärrrenderingssessionen ska skapas genom att ändra regiondelen av init.RemoteRenderingDomain strängen för andra regioner westus2 än , till exempel "westeurope.mixedreality.azure.com" .
  • Dessutom kan m_sessionOverride ändras till ett befintligt sessions-ID. Sessioner kan skapas utanför det här exemplet, till exempel med hjälp av PowerShell-skriptet eller med hjälp av REST API direkt. Vi rekommenderar att du skapar en session utanför exemplet när exemplet ska köras flera gånger. Om ingen session skickas skapar exemplet en ny session vid varje start, vilket kan ta flera minuter.

Nu kan programmet kompileras.

Starta programmet

  1. Anslut HoloLens med en USB-kabel till din dator.
  2. Aktivera HoloLens och vänta tills Start-menyn visas.
  3. Starta felsökningsprogrammet i Visual Studio (F5). Appen distribueras automatiskt till enheten.

Exempelappen bör starta och en textpanel bör visas som informerar dig om det aktuella programtillståndet. Statusen vid starttiden är antingen att starta en ny session eller ansluta till en befintlig session. När modellläsningen har slutförts visas den inbyggda motormodellen direkt vid huvudpositionen. Ocklusion-vis interagerar motormodellen korrekt med den snurrande kuben som återges lokalt.

Om du vill starta exemplet en andra gång senare kan du också hitta det på startmenyn för HoloLens, men observera att det kan ha ett utgånget sessions-ID kompilerat till det.

Nästa steg

Den här snabbstarten baseras på resultatet av en självstudie som förklarar hur du integrerar alla Remote Rendering delar i en Holographic-lagerapp. Om du vill veta vilka steg som krävs kan du följa den här självstudien: