Quickstart: Systeemeigen C++ WMR-voorbeeld implementeren in HoloLens
In deze quickstart wordt beschreven hoe u de systeemeigen C++ Windows Mixed Reality-zelfstudietoepassing (WMR) implementeert en uitvoert op een HoloLens 2.
In deze quickstart leert u het volgende:
- Bouw de zelfstudietoepassing voor HoloLens.
- Wijzig de Azure Remote Rendering-referenties in de broncode.
- Implementeer en voer het voorbeeld uit op het apparaat.
Vereisten
Als u toegang wilt krijgen tot de Remote Rendering-service, moet u eerst een account maken.
De volgende software moet zijn geïnstalleerd:
- Windows SDK 10.0.18362.0 of hoger.
- De nieuwste versie van Visual Studio 2022.
- Visual Studio Tools voor Mixed Reality. De volgende werkbelastinginstallaties zijn met name vereist:
- Desktopontwikkeling met C++
- Universal Windows Platform (UWP)-ontwikkeling
- Git.
- Git LFS-invoegtoepassing
De opslagplaats met voorbeelden van Remote Rendering klonen
Als eerste stap kloont u de Git-opslagplaats, die de globale Voorbeelden van Azure Remote Rendering bevat. Typ cmd
in het Windows-Startmenu om een opdrachtpromptvenster te openen. Ga naar een map waarin u het ARR-voorbeeldproject wilt opslaan.
Voer de volgende opdrachten uit:
mkdir ARR
cd ARR
git clone https://github.com/Azure/azure-remote-rendering
Met de laatste opdracht maakt u een map in de ARR-map die de verschillende voorbeeldprojecten voor Azure Remote Rendering bevat.
De C++ HoloLens-zelfstudie vindt u in de map NativeCpp/HoloLens-Wmr.
Het project bouwen
Open het oplossingsbestand HolographicApp.sln zich in de map NativeCpp/HoloLens-Wmr met Visual Studio.
Schakel de buildconfiguratie om naar Foutopsporing (of Release) en ARM64. Zorg ervoor dat de foutopsporingsprogrammamodus is ingesteld op Apparaat in plaats van Op afstand:
Omdat de accountreferenties worden vastgelegd in de broncode van de zelfstudie, wijzigt u deze in geldige referenties. Open het bestand HolographicAppMain.cpp in Visual Studio en wijzig het deel waarin de client wordt gemaakt in de constructor van klasse 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));
}
Wijzig met name de volgende waarden:
init.AccountId
,init.AccountKey
eninit.AccountDomain
om uw accountgegevens te gebruiken. Zie de sectie over het ophalen van accountgegevens.- Geef op waar de externe renderingsessie moet worden gemaakt door het regiogedeelte van de
init.RemoteRenderingDomain
tekenreeks te wijzigen voor andere regio's danwestus2
bijvoorbeeld"westeurope.mixedreality.azure.com"
. - Daarnaast kan
m_sessionOverride
worden gewijzigd in een bestaande sessie-id. Sessies kunnen buiten dit voorbeeld worden gemaakt. Zie RenderingSession.ps1 of Gebruik de REST API voor sessiebeheer rechtstreeks voor meer informatie.
Het maken van een sessie buiten het voorbeeld wordt aanbevolen wanneer het voorbeeld meerdere keren moet worden uitgevoerd. Als er geen sessie wordt doorgegeven, maakt het voorbeeld bij elke opstartsessie een sessie. Dit kan enkele minuten duren.
Nu kunt u de toepassing compileren.
De toepassing starten
- Sluit de HoloLens via een USB-kabel aan op uw pc.
- Schakel de HoloLens in en wacht totdat het menu Start wordt weergegeven.
- Start de foutopsporing in Visual Studio (F5). De app wordt automatisch op het apparaat geïmplementeerd.
De voorbeeld-app wordt gestart en er wordt een tekstvenster weergegeven dat u informeert over de huidige toepassingsstatus. De status bij het opstarten is ofwel een nieuwe sessie starten ofwel verbinding maken met een bestaande sessie. Nadat het laden van het model is voltooid, wordt het ingebouwde enginemodel direct op uw hoofdpositie weergegeven. Het enginemodel blijkt goed te communiceren met de draaiende kubus die lokaal wordt weergegeven.
Als u het voorbeeld later opnieuw wilt starten, kunt u het ook vinden in het startmenu van HoloLens. Mogelijk is er een verlopen sessie-id gecompileerd.
Volgende stappen
Deze quickstart is gebaseerd op het resultaat van een zelfstudie waarin wordt uitgelegd hoe u alle onderdelen van Remote Rendering kunt integreren in een Holographic-app. Volg deze zelfstudie als u wilt weten welke stappen er nodig zijn: