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:
- Git voor Windows
- Visual Studio 2019 met de Universeel Windows-platform ontwikkelworkload en de Windows 10 SDK (10.0.18362.0 of hoger)
- Unity 2019.4
- 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.
Ga naar Azure Portal en selecteer Een resource maken.
Zoek naar de objectankerresource .
Zoek naar 'Objectankers'.
Selecteer In de resource Object Anchors in de zoekresultaten de optie Maken -> Objectankers.
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.
Selecteer Maken om de resource te maken.
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.
Uw apparaat instellen
Als u apps wilt implementeren op uw HoloLens, moet u uw HoloLens koppelen aan uw computer.
- Navigeer in uw HoloLens naar Instellingen -> Update en beveiliging -> voor ontwikkelaars.
- 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:
Selecteer en kopieer de modellen waarmee u wilt werken door op Ctrl en C te drukken (Ctrl+ C).
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.
Tik op de HoloLens-koppeling om de opslag weer te geven op het HoloLens-apparaat in het rechterdeelvenster.
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).
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.
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 alleen AOASampleScene ernaast een vinkje heeft: alle andere scènes mogen niet worden opgenomen.
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.
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.
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 : schakelt de activering van het instellingenmenu van de tracker in.
Instellingen voor zoekgebied : 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.
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.
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.
Probleemoplossing
Tips
Als uw object niet wordt gedetecteerd, kunt u de volgende stappen proberen:
- Controleer of u het juiste model voor uw object gebruikt.
- Visualiseer het zoekgebied en zorg ervoor dat het doelobject wordt behandeld.
- Probeer de
MinSurfaceCoverage
. - Klik in de Windows-apparaatportal op Weergaven -> 3D-weergaven en controleer of de scan is voltooid.