Delen via


Quickstart: Een HoloLens-app maken met Azure Object Anchors, in C++/WinRT en DirectX

In deze quickstart wordt beschreven hoe u een HoloLens-app maakt met behulp van Azure Object Anchors in C++/WinRT en DirectX. Object Anchors is een beheerde cloudservice waarmee 3D-assets worden geconverteerd naar AI-modellen die objectbewuste mixed reality-ervaringen voor de HoloLens mogelijk maken. 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 HoloLens-toepassing maken en sideloaden
  • Een object detecteren en het model visualiseren

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken 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 bijbehorende 3D-model, CAD of gescand.
  • Een Windows-computer waarop het volgende is geïnstalleerd:
  • Een HoloLens 2-apparaat dat up-to-date is en waarvoor 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-account maken

Eerst moet u een account maken met de Object Anchors-service.

  1. Ga naar Azure Portal en selecteer Een resource maken.

    Create a new resource

  2. Zoek naar de objectankerresource .

    Zoek naar 'Objectankers'.

    Select the Object Anchors Resource

    Selecteer In de resource Object Anchors in de zoekresultaten de optie Maken -> Objectankers.

    Create an Object Anchors Resource

  3. In het dialoogvenster Objectankeraccount :

    • Voer een unieke resourcenaam in.
    • Selecteer het abonnement waaraan u de resource wilt koppelen.
    • Maak of gebruik een bestaande resourcegroep.
    • Selecteer de regio waarin u de resource wilt opnemen.

    Enter Object Anchors resource account details

    Selecteer Maken om de resource te maken.

  4. Zodra de resource is gemaakt, selecteert u Naar de resource gaan.

    Go to resource

  5. Op de overzichtspagina:

    Noteer het accountdomein. U hebt deze later nodig.

    Copy the account domain for your Object Anchors resource

    Noteer de account-id. U hebt deze later nodig.

    Copy the account ID for your Object Anchors resource

    Ga naar de pagina Toegangssleutels en noteer de primaire sleutel. U hebt deze later nodig.

    Copy the account key for your Object Anchors resource

Uw model uploaden

Voordat u de app uitvoert, moet u uw modellen beschikbaar maken voor de app. Als u nog geen Object Anchors-model hebt, volgt u de instructies in Een model maken om er een te maken. Keer dan hier terug.

Als uw HoloLens is ingeschakeld en verbonden met het ontwikkelapparaat (PC), volgt u deze stappen om een model te uploaden naar de map 3D-objecten op uw HoloLens:

  1. Selecteer en kopieer de modellen waarmee u wilt werken door op Ctrl en C te drukken (Ctrl+ C).

  2. Druk op windows-logotoets en E samen (Win + E) om Bestandenverkenner te starten. Uw HoloLens wordt weergegeven met andere stations en mappen in het linkerdeelvenster.

    file explorer

  3. Tik op de HoloLens-koppeling om de opslag weer te geven op het HoloLens-apparaat in het rechterdeelvenster.

    open HoloLens internal storage

  4. Ga in Bestandenverkenner naar Interne opslag > 3D-objecten. U kunt uw modellen nu in de map 3D-objecten plakken door op Ctrl en V te drukken (Ctrl+ V).

    paste models in 3D Objects folder

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 implementatiedoelopties.

De accountgegevens configureren

De volgende stap is om de app te configureren voor gebruik van uw accountgegevens. U hebt de waarden accountsleutel, account-id en accountdomein genoteerd in de sectie Een objectankeraccount maken.

Open Assets\ObjectAnchorsConfig.json.

Zoek het AccountId veld en vervang dit door Set me uw account-id.

Zoek het AccountKey veld en vervang dit door Set me uw accountsleutel.

Zoek het AccountDomain veld en vervang dit door Set me uw accountdomein.

Bouw nu het AoaSampleApp-project door met de rechtermuisknop op het project te klikken en Build te selecteren.

Screenshot shows configuring Visual Studio project to deploy.

De app implementeren in HoloLens

Nadat het voorbeeldproject is gemaakt, kunt u de app implementeren in HoloLens.

Zorg ervoor dat het HoloLens-apparaat is ingeschakeld en verbonden met de pc via een USB-kabel. Zorg ervoor dat het apparaat het gekozen implementatiedoel is, zoals hierboven.

Klik met de rechtermuisknop op het project AoaSampleApp en selecteer Vervolgens Implementeren in het contextmenu om de app te installeren. Als er geen fout wordt weergegeven in het uitvoervenster van Visual Studio, wordt de app geïnstalleerd op HoloLens.

Screenshot shows the context menu for the project with Deploy selected.

Voordat u de app start, moet u bijvoorbeeld een objectmodel, chair.ou , hebben geüpload naar de map 3D-objecten op uw HoloLens. Als u dat nog niet hebt gedaan, volgt u de instructies in de sectie Uw model uploaden.

Als u de app wilt starten en fouten wilt opsporen, selecteert u Foutopsporing> starten.

Objectmodel opnemen en het exemplaar detecteren

De AoaSampleApp-app wordt nu uitgevoerd op uw HoloLens-apparaat. Loop dicht, binnen 2 meter afstand, naar het doelobject (stoel) en scan het door het vanuit meerdere perspectieven te bekijken. Er wordt een roze begrenzingsvak rond het object weergegeven met enkele gele punten die dicht bij het oppervlak van het object worden weergegeven, wat aangeeft dat het is gedetecteerd. U ziet ook een geel vak dat het zoekgebied aangeeft.

Photograph shows a chair with the bounding box, point cloud, and search area.

U kunt een zoekruimte voor het object in de app definiëren door met uw vinger in de lucht te klikken met uw rechter- of linkerhand. De zoekruimte schakelt tussen een bol van 2 meter straal, een begrenzingsvak van 4 m^3 en een weergave frustum. Voor grotere objecten, zoals auto's, is de beste keuze meestal om de frustum-weergaveselectie te gebruiken terwijl u op een hoek van het object op ongeveer 2 meter afstand staat. Telkens wanneer het zoekgebied wordt gewijzigd, verwijdert de app exemplaren die momenteel worden bijgehouden. Vervolgens wordt geprobeerd ze opnieuw te vinden in het nieuwe zoekgebied.

Met deze app kunnen meerdere objecten tegelijk worden bijgehouden. Hiervoor uploadt u meerdere modellen naar de map 3D-objecten van uw apparaat en stelt u een zoekgebied in dat alle doelobjecten omvat. Het kan langer duren voordat meerdere objecten worden gedetecteerd en bijgehouden.

De app lijnt een 3D-model nauw af op zijn fysieke tegenhanger. Een gebruiker kan luchttikken met behulp van de linkerhand om de modus voor het bijhouden van hoge precisie in te schakelen, waarmee een nauwkeurigere houding wordt berekend. Deze functie is nog steeds experimenteel. Het verbruikt meer systeemresources en kan leiden tot een hogere jitter in de geschatte houding. Tik opnieuw in de lucht met de linkerhand om terug te schakelen naar de normale traceringsmodus.

Volgende stappen