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:
- Git för Windows
- Visual Studio 2019 med arbetsbelastningen Universell Windows-plattform utveckling och Windows 10 SDK (10.0.18362.0 eller senare)
- 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.
Gå till Azure-portalen och välj Skapa en resurs.
Sök efter object anchors-resursen.
Sök efter "Object Anchors".
På resursen Object Anchors i sökresultatet väljer du Skapa –> Objektfästpunkter.
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.
Välj Skapa för att börja skapa resursen.
När resursen har skapats väljer du Gå till resurs.
På översiktssidan:
Anteckna kontodomänen. Du behöver det senare.
Anteckna konto-ID:t. Du behöver det senare.
Gå till sidan Åtkomstnycklar och anteckna primärnyckeln. Du behöver det senare.
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:
Markera och kopiera de modeller som du vill arbeta med genom att trycka på Ctrl och C tillsammans (Ctrl + C).
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.
Tryck på Länken HoloLens för att visa lagringen på HoloLens-enheten i den högra rutan.
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).
Ö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.
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.
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.
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.