Quickstart: Een HoloLens app maken met Azure Object Anchors, in C++/WinRT en DirectX
In deze quickstart wordt be lezen hoe u een HoloLens app maakt met Azure Object Anchors in C++/WinRT en DirectX. Azure Object Anchors is een beheerde cloudservice die 3D-assets converteert naar AI-modellen die objectbewuste mixed reality voor de HoloLens. Wanneer u klaar bent, hebt u een HoloLens-app die een object en de houding ervan kan detecteren in een Holographic DirectX 11-toepassing (Universal Windows).
U leert het volgende:
- Een toepassing voor een HoloLens maken en side-loaden
- Een object detecteren en het model visualiseren
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Vereisten
Zorg ervoor dat u over het volgende beschikt om deze snelstart te voltooien:
- Een fysiek object in uw omgeving en het 3D-model (CAD of gescand).
- Een Windows machine met het volgende geïnstalleerd:
- Git voor Windows
- Visual Studio 2019 met de universal Windows Platform-ontwikkelworkload en het onderdeel Windows 10 SDK (10.0.18362.0 of hoger)
- Een HoloLens 2 apparaat dat up-to-date is en waarop de ontwikkelaarsmodus is ingeschakeld.
- Als u wilt bijwerken naar de nieuwste release op HoloLens, opent u de app Instellingen, gaat u naar Bijwerken en beveiliging en selecteert u vervolgens Controleren op updates.
Een Object Anchors maken
Eerst moet u een account maken met de Object Anchors service.
Ga naar de Azure Portal selecteer Een resource maken.
Zoek de Object Anchors resource.
Zoek naar 'Object Anchors'.
Selecteer op Object Anchors resource in de zoekresultaten Maken -> Object Anchors.
In het Object Anchors account:
- Voer een unieke resourcenaam in.
- Selecteer het abonnement waar u de resource aan wilt koppelen.
- Maak of gebruik een bestaande resourcegroep.
- Selecteer de regio waarin u uw resource wilt hebben.
Selecteer Maken om te beginnen met het maken van de resource.
Zodra de resource is gemaakt, selecteert u Naar de resource gaan.
Op de overzichtspagina:
Noteer het accountdomein. U hebt deze later nodig.
Noteer de account-id. U hebt deze later nodig.
Ga naar de pagina Toegangssleutels en noteer de primaire sleutel. U hebt deze later nodig.
Upload model maken
Voordat u de app gaat uitvoeren, moet u uw modellen beschikbaar maken voor de app. Als u nog geen nieuw model Object Anchors, volgt u de instructies in Een model maken om er een te maken. Keer vervolgens hier terug.
Als uw HoloLens is ingeschakeld en is verbonden met het ontwikkelapparaat (PC), volgt u deze stappen om een model te uploaden naar de map 3D-objecten op uw HoloLens:
Selecteer en kopieer de modellen die u wilt gebruiken door op Ctrl en C te drukken (Ctrl + C).
Druk Windows logotoets en E samen (Win + E) om Verkenner te starten. Als het goed is, HoloLens in het linkerdeelvenster weergegeven met andere stations en mappen.
Tik op de HoloLens om de opslag op het HoloLens in het rechterdeelvenster weer te geven.
Ga in Verkenner naar Interne Storage > 3D-objecten. Nu kunt u uw modellen in de map 3D-objecten plakken door op Ctrl en V te drukken (Ctrl + V).
Voorbeeldproject openen
Voer de volgende opdrachten uit om de opslagplaats met voorbeelden te klonen:
git clone https://github.com/Azure/azure-object-anchors.git
cd ./azure-object-anchors
Open quickstarts/apps/directx/DirectXAoaSampleApp.sln in Visual Studio.
Wijzig de Oplossingsconfiguratie in Release, wijzig Solution Platform in ARM64 en selecteer Apparaat in de opties voor het implementatiedoel.
De accountgegevens configureren
De volgende stap is om de app te configureren voor gebruik van uw accountgegevens. U hebt de waarden voor Accountsleutel, Account-id en Accountdomein in de sectie Een Object Anchors account gemaakt.
Open Assets\ObjectAnchorsConfig.json.
Zoek het AccountId veld en vervang door uw Set me account-id.
Zoek het AccountKey veld en vervang door uw Set me accountsleutel.
Zoek het AccountDomain veld en vervang door uw Set me accountdomein.
Bouw nu het project AoaSampleApp door met de rechtermuisknop op het project te klikken en Build te selecteren.
De app implementeren in HoloLens
Nadat het voorbeeldproject is gecompileerd, kunt u de app implementeren in HoloLens.
Zorg ervoor HoloLens apparaat is ingeschakeld en verbonden met de pc via een USB-kabel. Zorg ervoor dat Apparaat het gekozen implementatiedoel is (zie hierboven).
Klik met de rechtermuisknop op AoaSampleApp-project en klik vervolgens in het pop-upmenu op Implementeren om de app te installeren. Als er geen fout wordt weergegeven in Visual Studio van Uitvoervenster, wordt de app geïnstalleerd op HoloLens.
Voordat u de app start, moet u een objectmodel, bijvoorbeeld , hebben geüpload naar de map 3D-objecten op uw HoloLens. Als u dat nog niet hebt doen, volgt u de instructies in de sectie Upload model te lezen.
Als u de app wilt starten en fouten wilt opsporen, selecteert u Fouten opsporen > Foutopsporing starten.
Objectmodel opnemen en het exemplaar ervan detecteren
De AoaSampleApp-app wordt nu uitgevoerd op HoloLens apparaat. Ga dicht (binnen een afstand van 2 meter) naar het doelobject (zij) en scan het door het vanuit meerdere perspectieven te bekijken. U ziet een roze begrendigingsvak rond het object met enkele gele punten die dicht bij het oppervlak van het object worden weergegeven, wat aangeeft dat het is gedetecteerd.
Afbeelding: een gedetecteerde renderer met het begrendigingsvak (roze), de puntwolk (geel) en een zoekgebied (groot geel vak).
U kunt een zoekruimte voor het object in de app definiëren door met uw rechter of linkervinger in de lucht te klikken. De zoekruimte schakelt over tussen een bol met een radius van 2 meter, een begrenzem van 4 m^3 en een frustum voor weergave. Voor grotere objecten, zoals auto's, is het meestal de beste keuze om de weergave frustumselectie te gebruiken terwijl u naar een hoek van het object op ongeveer 2 meter afstand staat. Telkens wanneer het zoekgebied wordt gewijzigd, verwijdert de app exemplaren die momenteel worden bijgespoord en probeert deze vervolgens opnieuw te vinden in het nieuwe zoekgebied.
Deze app kan meerdere objecten tegelijk bijhouden. Om dit te doen, uploadt u meerdere modellen naar de map 3D-objecten van uw apparaat en stelt u een zoekgebied in dat betrekking heeft op alle doelobjecten. Het kan langer duren om meerdere objecten te detecteren en bij te houden.
De app lijnt een 3D-model nauw af op de fysieke tegenhanger. Een gebruiker kan in de lucht tikken met zijn linker hand om de traceringsmodus voor hoge precisie in te schakelen, waarmee een nauwkeurigere houding wordt berekend. Dit is nog steeds een experimentele functie, die meer systeembronnen verbruikt en kan leiden tot een hogere jitter in de geschatte houding. Tik opnieuw in de lucht met de linkerkant om terug te schakelen naar de normale traceringsmodus.