Quickstart: Een HoloLens-app maken met Azure Object Anchors, in Unity met MRTK

In deze quickstart maakt u een Unity HoloLens-app die gebruikmaakt van Azure Object Anchors. Azure 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 gemaakt met Unity waarmee objecten in de fysieke wereld kunnen worden gedetecteerd.

U leert het volgende:

  • Build-instellingen voor Unity voorbereiden.
  • Het HoloLens Visual Studio-project exporteren.
  • Implementeer de app en voer deze uit op een HoloLens 2-apparaat.

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 apparaat instellen

Als u apps wilt implementeren op uw HoloLens, moet u uw HoloLens koppelen aan uw computer.

  1. Navigeer in uw HoloLens naar Instellingen -> Update & Security -> voor ontwikkelaars.
  2. Klik op Koppelen en laat het scherm geopend totdat u de pincode tijdens uw eerste implementatie invoert in Visual Studio.

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

De volgende stap is het downloaden van het Azure Object Anchors-pakket voor Unity.

Zoek het Azure Object Anchors-pakket voor Unity (com.microsoft.azure.object-anchors.runtime) hier. Selecteer de gewenste versie en download het pakket met behulp van de knop Downloaden .

Open het quickstarts/apps/unity/mrtk project in Unity.

Volg de instructies hier voor het importeren van het Azure Object Anchors-pakket dat u hebt gedownload in het Unity-project met behulp van de Unity-Pakketbeheer.

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.

Ga in het deelvenster Project naar Assets\AzureObjectAnchors.SDK\Resources.

Selecteer ObjectAnchorsConfig. Voer in het deelvenster Inspector de Account Key waarde in voor objectankeraccountsleutel, de Account ID waarde voor objectankeraccount-id en de Account Domain waarde voor objectankeraccountdomein.

Ontwikkel de app en voer deze uit

De voorbeeldscène bouwen

Navigeer in Unity Editor naar Assets/MixedReality.AzureObjectAnchors/Scenes en open AOASampleScene en voeg deze toe aan de lijst met scènebuilds.

Wanneer u in een dialoogvenster TMP Importer wordt gevraagd textMesh Pro-resources te importeren, selecteert u TMP Essentials importeren om dit te doen. Import TextMesh Pro resources

Selecteer Bestand -> Instellingen bouwen. Selecteer Universeel Windows-platform en selecteer vervolgens Switch Platform. Als unity-editor zegt dat u eerst enkele onderdelen moet downloaden, downloadt en installeert u deze. Volg de onderstaande schermopname om de build-instellingen te configureren. Zorg ervoor dat alleenAOASampleScene ernaast een vinkje heeft: alle andere scènes mogen niet worden opgenomen.

build settings

Selecteer Build en selecteer een uitvoermap. U kunt nu een VS-project genereren in de uitvoermap.

De app compileren en implementeren

Open het .sln bestand dat is gegenereerd door Unity. Wijzig de buildconfiguratie in het volgende.

build configuration

Vervolgens moet u het IP-adres van de externe machine configureren om de app te implementeren en fouten op te sporen.

Klik met de rechtermuisknop op het app-project en selecteer Eigenschappen. Selecteer op de eigenschappenpagina Configuratie-eigenschappen -> Foutopsporing. Wijzig de waarde van de machinenaam in het IP-adres van uw HoloLens-apparaat en klik op Toepassen.

remote debug

Sluit de eigenschappenpagina. Klik op Externe computer. De app moet beginnen met het bouwen en implementeren op uw externe apparaat. Controleer of uw apparaat actief is.

Na het welkomstscherm van Unity ziet u een wit begrenzingsvak. U kunt uw hand gebruiken om het begrenzingsvak te verplaatsen, te schalen of te draaien. Plaats het vak om het object te bedekken dat u wilt detecteren.

Open het handmenu en selecteer Lock SearchArea om verdere verplaatsing van het begrenzingsvak te voorkomen. Selecteer Zoeken starten om objectdetectie te starten. Wanneer het object wordt gedetecteerd, wordt er een mesh weergegeven op het object. Details van een gedetecteerd exemplaar worden weergegeven op het scherm, zoals bijgewerkte tijdstempel en oppervlaktedekkingsverhouding. Selecteer Zoeken stoppen om het bijhouden te stoppen en alle gedetecteerde exemplaren worden verwijderd.

De app-menu's

U kunt ook andere acties uitvoeren met behulp van het menu hand.

Primair menu
  • Zoeken starten /Zoeken stoppen - Hiermee wordt het objectdetectieproces gestart of gestopt.

  • Ruimtelijke toewijzing in-/uitschakelen: weergave van ruimtelijke toewijzing weergeven/verbergen. Deze optie kan worden gebruikt om fouten op te sporen als de scan is voltooid of niet.

  • Tracker Instellingen – Hiermee schakelt u de activering van het menu trackerinstellingen in.

  • Zoekgebied Instellingen: hiermee schakelt u de activering van het menu instellingen van het zoekgebied in.

  • Tracering starten: diagnostische gegevens vastleggen en opslaan op het apparaat. Zie meer informatie in de sectie Foutopsporingsdetectieproblemen en diagnostische gegevens vastleggen.

  • Upload Tracing : diagnostische gegevens uploaden naar de Object Anchors-service.

    Unity primary hand menu

Menu Instellingen voor trackers
  • Hoge nauwkeurigheid : een experimentele functie die wordt gebruikt om een nauwkeurigere houding te krijgen. Als u deze optie inschakelt, zijn er meer systeembronnen nodig tijdens de objectdetectie. De object-mesh wordt weergegeven in roze wanneer in deze modus. Selecteer deze knop opnieuw om terug te gaan naar de normale traceringsmodus.

  • Ontspannen verticale uitlijning : als dit is ingeschakeld, kan een object worden gedetecteerd in een niet-verticale hoek. Handig voor het detecteren van objecten op hellingen.

  • Schaalwijziging toestaan: hiermee kan de tracker de grootte van het gedetecteerde object wijzigen op basis van omgevingsinformatie.

  • Schuifregelaar dekkingsverhouding : hiermee past u het aandeel van de oppervlaktepunten aan die voor de tracker moeten overeenkomen om een object te detecteren. Met lagere waarden kan de tracker objecten die lastig zijn voor de HoloLens-sensoren beter detecteren, zoals donkere objecten of zeer reflecterende objecten. Hogere waarden verminderen de frequentie van onwaardetecties.

    Unity tracker hand menu

Menu Instellingen voor zoekgebied
  • Zoekgebied vergrendelen - Begrenzingsvak vergrendelen om onbedoelde beweging door handen te voorkomen.

  • Zoekgebied automatisch aanpassen: hiermee kan het zoekgebied zichzelf verplaatsen tijdens objectdetectie.

  • Cycle Mesh – Doorloopt het visualiseren van de geladen meshes in het zoekgebied. Met deze optie kunnen gebruikers het zoekvak uitlijnen op moeilijk te detecteren objecten.

    Unity search area hand menu

Problemen oplossen

Tips

Als uw object niet wordt gedetecteerd, kunt u de volgende stappen proberen:

  1. Controleer of u het juiste model voor uw object gebruikt.
  2. Visualiseer het zoekgebied en zorg ervoor dat het doelobject wordt behandeld.
  3. Probeer de MinSurfaceCoverage.
  4. Klik in de Windows-apparaatportal op Weergaven -> 3D-weergaven en controleer of de scan is voltooid.

Volgende stappen