Dela via


Snabbstart: Skapa en HoloLens-app med Azure Object Anchors i C++/WinRT och DirectX

Den här snabbstarten beskriver hur du skapar en HoloLens-app med Hjälp av Azure Object Anchors i C++/WinRT och DirectX. Object Anchors är en hanterad molntjänst som konverterar 3D-tillgångar till AI-modeller som möjliggör objektmedvetna upplevelser för mixad verklighet för HoloLens. När du är klar har du en HoloLens-app som kan identifiera ett objekt och dess pose i ett Holographic DirectX 11-program (Universal Windows).

Du lär dig att:

  • Skapa och separat läsa in ett HoloLens-program
  • Identifiera ett objekt och visualisera dess modell

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

Kontrollera att du har följande för genomföra den här snabbstarten:

  • Ett fysiskt objekt i din miljö och dess 3D-modell, antingen CAD eller genomsökt.
  • En Windows-dator med följande installerat:
  • En HoloLens 2-enhet som är uppdaterad och har aktiverat utvecklarläge .
    • Om du vill uppdatera till den senaste versionen på HoloLens öppnar du appen Inställningar, går till Uppdatera och säkerhet och väljer sedan Sök efter uppdateringar.

Skapa ett Object Anchors-konto

Först måste du skapa ett konto med tjänsten Object Anchors.

  1. Gå till Azure-portalen och välj Skapa en resurs.

    Create a new resource

  2. Sök efter object anchors-resursen.

    Sök efter "Object Anchors".

    Select the Object Anchors Resource

    På resursen Object Anchors i sökresultatet väljer du Skapa –> Objektfästpunkter.

    Create an Object Anchors Resource

  3. I dialogrutan Object Anchors Account (Objektankarkonto):

    • Ange ett unikt resursnamn.
    • Välj den prenumeration som du vill koppla resursen till.
    • Skapa eller använd en befintlig resursgrupp.
    • Välj den region som du vill att resursen ska finnas i.

    Enter Object Anchors resource account details

    Välj Skapa för att börja skapa resursen.

  4. När resursen har skapats väljer du Gå till resurs.

    Go to resource

  5. På översiktssidan:

    Anteckna kontodomänen. Du behöver det senare.

    Copy the account domain for your Object Anchors resource

    Anteckna konto-ID:t. Du behöver det senare.

    Copy the account ID for your Object Anchors resource

    Gå till sidan Åtkomstnycklar och anteckna primärnyckeln. Du behöver det senare.

    Copy the account key for your Object Anchors resource

Ladda upp din modell

Innan du kör appen måste du göra dina modeller tillgängliga för appen. Om du inte redan har en Object Anchors-modell följer du anvisningarna i Skapa en modell för att skapa en. Gå sedan tillbaka hit.

När HoloLens är aktiverat och anslutet till utvecklingsenheten (PC) följer du dessa steg för att ladda upp en modell till mappen 3D Objects på HoloLens:

  1. Markera och kopiera de modeller som du vill arbeta med genom att trycka på Ctrl och C tillsammans (Ctrl + C).

  2. Tryck på Windows-tangenten och E tillsammans (Win + E) för att starta Utforskaren. Du bör se dina HoloLens med andra enheter och mappar i det vänstra fönstret.

    file explorer

  3. Tryck på Länken HoloLens för att visa lagringen på HoloLens-enheten i den högra rutan.

    open HoloLens internal storage

  4. I Utforskaren går du till 3D-objekt för intern lagring>. Nu kan du klistra in dina modeller i mappen 3D-objekt genom att trycka på Ctrl och V tillsammans (Ctrl + V).

    paste models in 3D Objects folder

Öppna exempelprojektet

Klona exempellagringsplatsen genom att köra följande kommandon:

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

Öppna snabbstarter/appar/directx/DirectXAoaSampleApp.sln i Visual Studio.

Ändra lösningskonfigurationen till Släpp, ändra Solution Platform till ARM64, välj Enhet från distributionsmålalternativen.

Konfigurera kontoinformationen

Nästa steg är att konfigurera appen så att den använder din kontoinformation. Du antecknade värdena Kontonyckel, Konto-ID och Kontodomän i avsnittet Skapa ett objektankarkonto .

Öppna Assets\ObjectAnchorsConfig.json.

Leta upp fältet AccountId och ersätt Set me med ditt konto-ID.

Leta upp fältet AccountKey och ersätt Set me med din kontonyckel.

Leta upp fältet AccountDomain och ersätt Set me med din kontodomän.

Skapa nu AoaSampleApp-projektet genom att högerklicka på projektet och välja Skapa.

Screenshot shows configuring Visual Studio project to deploy.

Distribuera appen till HoloLens

När du har sammanställt exempelprojektet kan du distribuera appen till HoloLens.

Se till att HoloLens-enheten är påslagen och ansluten till datorn via en USB-kabel. Kontrollera att Enheten är det valda distributionsmålet enligt ovan.

Högerklicka på AoaSampleApp-projektet och välj sedan Distribuera på snabbmenyn för att installera appen. Om inget fel visas i Utdatafönstret i Visual Studio installeras appen på HoloLens.

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

Innan du startar appen borde du ha laddat upp en objektmodell, chair.ou till exempel till mappen 3D Objects på holoLens. Om du inte har gjort det följer du anvisningarna i avsnittet Ladda upp din modell .

Om du vill starta och felsöka appen väljer du Felsöka>Starta felsökning.

Mata in objektmodellen och identifiera dess instans

AoaSampleApp-appen körs nu på din HoloLens-enhet. Gå nära, inom 2 meters avstånd, till målobjektet (stolen) och skanna det genom att titta på det från flera perspektiv. Du bör se en rosa avgränsningsruta runt objektet med några gula punkter som återges nära objektets yta, vilket indikerar att det har identifierats. Du bör också se en gul ruta som anger sökområdet.

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

Du kan definiera ett sökutrymme för objektet i appen genom att klicka i luften med antingen höger eller vänster hand. Sökutrymmet växlar mellan en sfär med en radie på 2 meter, en avgränsningsruta på 4 m^3 och en vyfrustum. För större objekt som bilar är det bästa valet vanligtvis att använda visnings frustum-valet när du står mot ett hörn av objektet på ungefär 2 meters avstånd. Varje gång sökområdet ändras tar appen bort instanser som för närvarande spåras. Den försöker sedan hitta dem igen i det nya sökområdet.

Den här appen kan spåra flera objekt samtidigt. För att göra det laddar du upp flera modeller till mappen 3D-objekt på enheten och anger ett sökområde som täcker alla målobjekt. Det kan ta längre tid att identifiera och spåra flera objekt.

Appen justerar en 3D-modell till sin fysiska motsvarighet noga. En användare kan lufttrycka med hjälp av sin vänstra hand för att aktivera spårningsläget med hög precision, vilket beräknar en mer exakt pose. Den här funktionen är fortfarande experimentell. Det förbrukar fler systemresurser och kan leda till högre jitter i den uppskattade posen. Tryck igen med vänster hand för att växla tillbaka till det normala spårningsläget.

Nästa steg