Zelfstudie: Ruimtelijke ankers delen tussen sessies en apparaten
Azure Spatial Anchors is een platformoverstijgende ontwikkelaarsservice waarmee u mixed reality-ervaringen kunt maken met behulp van objecten die hun locatie in de loop van de tijd op meerdere apparaten behouden.
In deze zelfstudie gebruikt u Azure Spatial Anchors om tijdens één sessie ankers te maken en deze vervolgens op hetzelfde apparaat of op een ander apparaat terug te vinden. Dezelfde ankers kunnen ook worden teruggevonden door meerdere apparaten op dezelfde plaats op hetzelfde moment.
In deze zelfstudie leert u het volgende:
- Implementeer een ASP.NET Core-web-app in Azure die u kunt gebruiken om ankers te delen en de ankers in het geheugen op te slaan voor een opgegeven periode.
- Configureer de scène AzureSpatialAnchorsLocalSharedDemo binnen het Unity-voorbeeld van onze quickstarts om te profiteren van de web-app Sharing Anchors.
- Implementeer de ankers en voer deze uit op een of meer apparaten.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Voordat u met deze zelfstudie begint, moet aan de volgende vereisten worden voldaan:
- U hebt Overzicht Azure Spatial Anchors doorgelezen.
- U hebt een van de Quickstarts van 5 minuten voltooid.
Notitie
In de quickstarts voor Android/NDK en iOS/SWIFT worden de functies die in deze zelfstudie worden uitgelegd, momenteel niet getoond.
- Een basiskennis van een van de volgende:
- Een Windows-computer met Visual Studio 2019 of hoger en de werkbelasting ASP.NET- en webontwikkeling.
- De .NET Core 3.1-SDK.
- Een of meer van de volgende apparaten waarop een app kan worden geïmplementeerd en uitgevoerd: HoloLens, HoloLens 2, iOS of Android.
Notitie
U zult in deze zelfstudie gebruikmaken van Unity en een ASP.NET Core-web-app, maar deze aanpak is alleen een voorbeeld om te laten zien hoe het delen van Azure Spatial Anchor-id's naar andere apparaten werkt. U kunt andere talen en back-endtechnologieën gebruiken om hetzelfde doel te bereiken.
Een Spatial Anchors-resource maken
Ga naar de Azure Portal.
Selecteer Een resource maken in het linkerdeelvenster.
Gebruik het zoekvak om te zoeken naar Spatial Anchors.
Selecteer Spatial Anchors en vervolgens Maken.
Doe in het deelvenster Spatial Anchors-account het volgende:
Voer een unieke resourcenaam in met gewone alfanumerieke tekens.
Selecteer het abonnement waaraan u de resource wilt koppelen.
Maak een resourcegroep door Nieuwe maken te selecteren. Noem deze myResourceGroup en selecteer OK.
Een resourcegroep is een logische container waarin Azure-resources, zoals web-apps, databases en opslagaccounts, worden geïmplementeerd en beheerd. U kunt bijvoorbeeld later de hele resourcegroep in één stap verwijderen.
Selecteer de locatie (regio) waarin u de resource wilt plaatsen.
Selecteer Maken om de resource te maken.
Nadat de resource is gemaakt, ziet u in de Azure-portal dat uw implementatie is voltooid.
Selecteer Naar resource. Nu kunt u de resource-eigenschappen bekijken.
Kopieer de waarde bij Account-id van de resource naar een teksteditor om later te gebruiken.
Kopieer ook de waarde bij Accountdomein van de resource naar een teksteditor om later te gebruiken.
Selecteer Onder Instellingen de optie Toegangssleutel. Kopieer de waarde bij Primaire sleutel, Accountsleutel, naar een teksteditor om later te gebruiken.
Het voorbeeldproject downloaden en SDK importeren
Opslagplaats voor kloonvoorbeelden
Voer de volgende opdrachten uit om de opslagplaats met voorbeelden te klonen:
git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples
ASA SDK importeren
Volg de instructies hier om de ASA SDK-pakketten te downloaden en te importeren die vereist zijn voor het HoloLens-platform.
De Sharing Anchor-service implementeren
Notitie
In deze zelfstudie gebruiken we de gratis laag van de Azure-app Service. De gratis laag treedt op na 20 minuten inactiviteit en stelt de geheugencache opnieuw in.
Open Visual Studio en open vervolgens het project in de map Sharing\SharingServiceSample.
Open de publicatiewizard
Klik in Solution Explorer met de rechtermuisknop op het project SharingService en selecteer Publiceren....
De publicatiewizard start.
- Selecteer Vervolgens Doel-Azure.>
- Specifieke doel-Azure-app-service (Windows)>Volgende selecteren
- Meld u aan bij het Azure-portaal.
- Selecteer het groene '+' om een Azure-app-service te maken
Instellingen van de app-service
Instelling | Voorgestelde waarde | Omschrijving |
---|---|---|
Naam | myASASharingService | Geef uw service een unieke naam |
Subscription Name | Selecteer uw favoriete Azure-abonnement | |
Resourcegroep | myResourceGroup of selecteer een bestaande | Een resourcegroep is een logische container waarin Azure-resources, zoals web-apps, databases en opslagaccounts, worden geïmplementeerd en beheerd. U kunt bijvoorbeeld later de hele resourcegroep in één stap verwijderen. |
Hostingabonnement | Selecteer Nieuw... en zie de onderstaande tabel | Een App Service-plan geeft de locatie, de grootte en de functies van de webserverfarm aan die als host fungeert voor uw app. U kunt geld besparen wanneer u meerdere apps host door de web-apps te configureren om één App Service-plan te delen. App Service-plannen definiëren:
|
Instellingen voor hostingabonnementen
Instelling | Voorgestelde waarde | Beschrijving |
---|---|---|
Hostingabonnement | MySharingServicePlan | Geef uw hostingabonnement een unieke naam |
Locatie | VS - west | Het datacenter waar de web-app wordt gehost. Kies een locatie die zich het dichtst bij de fysieke locatie bevindt die uw toepassing gaat gebruiken |
Tekengrootte | Gratis | De prijscategorie die de hosting-functies bepaalt |
- Selecteer Maken om de App Service te maken
- Zodra de App Service is gemaakt, selecteert u deze in de lijst 'App Service-exemplaren' en selecteert u Voltooien
- Selecteer Publiceren op het tabblad SharingService: Publiceren
Zodra de ASP.NET Core-web-app is gepubliceerd naar Azure, kunt u naar https://<your_app_name>.azurewebsites.net
de koppeling naast Site gaan of klikken: op het tabblad SharingService: Publiceren . Kopieer deze URL naar een teksteditor voor later gebruik.
De voorbeeld-app configureren en implementeren
Project openen
Open het project in Unity in de map Unity. Unity geeft mogelijk een melding weer over een verschil tussen de versie in het project en de versie die op uw computer is geïnstalleerd. Dit is in orde, zolang uw versie van Unity Editor nieuwer is dan de versie waarmee het project is gemaakt. Als uw versie nieuwer is, selecteert u Doorgaan. Als uw versie ouder is dan voor het project nodig is, selecteert u Afsluiten en werkt u Unity Editor bij.
Build-instellingen instellen
Open Build Settings door File>Build Settings te selecteren.
in de sectie Platform selecteert u Universeel Windows-platform. Wijzig Doelapparaat in HoloLens.
Selecteer Switch Platform om het platform te wijzigen in Universeel Windows-platform. U kunt worden gevraagd UWP-ondersteuningsonderdelen te installeren als deze ontbreken.
Sluit het venster Build Settings.
De accountgegevens configureren
De volgende stap is om de app te configureren voor gebruik van uw accountgegevens. U hebt eerder de waarden accountsleutel, account-IDen accountdomein gekopieerd naar een teksteditor in de sectie "Een Spatial Anchors-resource maken".
Ga in het deelvenster Project naar Assets\AzureSpatialAnchors.SDK\Resources
.
Selecteer SpatialAnchorConfig. Voer in het deelvenster Controle de Account Key
in als de waarde voor Spatial Anchors-accountsleutel, de Account ID
als de waarde voor Spatial Anchors-id en de Account Domain
als de waarde voor Spatial Anchors-accountdomein.
Open de scène met de naam AzureSpatialAnchorsLocalSharedDemo Assets/AzureSpatialAnchors.Examples/Scenes/AzureSpatialAnchorsLocalSharedDemo
door erop te dubbelklikken in het projectvenster
Ga in het deelvenster Project naar Assets\AzureSpatialAnchors.Examples\Resources
.
Selecteer SpatialAnchorSamplesConfig. Voer vervolgens in het deelvenster Inspector de Sharing Anchors Service
URL (van de implementatie van uw ASP.NET-web-app in Azure) in als de waarde voor Base Sharing Url
. Voeg de URL toe met /swagger/api/anchors
. Dit ziet er als volgt uit: https://<your_app_name>.azurewebsites.net/swagger/api/anchors
.
Sla de scène op door Bestand>Opslaan te selecteren.
De HoloLens-toepassing exporteren en implementeren
Open Build Settings door File>Build Settings te selecteren.
Controleer onder Scènes in Build of er naast elke scène een selectievakje staat.
Selecteer Build. Selecteer in het dialoogvenster een map waarnaar het HoloLens Visual Studio-project kan worden geëxporteerd.
Als het exporteren is voltooid, wordt er een map weergegeven met het geëxporteerde HoloLens-project.
Dubbelklik in de map op HelloAR U3D.sln om het project in Visual Studio te openen.
Wijzig Solution Configuration in Release, wijzig het Solution Platform in x86 en selecteer Device uit de opties voor het implementatiedoel.
Als u HoloLens 2 gebruikt, gebruikt u ARM64 als het Solution Platform, in plaats van x86.
Schakel het HoloLens-apparaat in, meld u aan en sluit het apparaat aan op de pc via een USB-kabel.
Selecteer Debug>Start debugging om de app te implementeren en de foutopsporing te starten.
Uitvoeren van de app
Selecteer In de app LocalSharedDemo met behulp van de pijlen en druk vervolgens op de knop Go! om de demo uit te voeren. Volg de instructies om een anker te plaatsen en terug te halen.
Met Anker maken en delen kunt u een anker maken en die bewaren in uw deelapparaat. Als resultaat krijgt u er een id voor terug die u kunt gebruiken om hem op te halen uit het deelapparaat. Vervolgens kunt u het tweede scenario, Gedeeld anker zoeken, uitvoeren vanuit uw apparaat of een ander apparaat.
Met Gedeeld anker zoeken kunt u eerder gedeelde ankers zoeken door de eerder genoemde id in te voeren. Nadat u uw scenario hebt gekozen, leidt de app u door verdere instructies. U wordt bijvoorbeeld gevraagd om uw apparaat te verplaatsen om omgevingsinformatie te verzamelen. Later plaatst u een anker in de wereld, wacht u tot deze is opgeslagen, start u een nieuwe sessie en vervolgens zoekt u die.
Resources opschonen
In de voorgaande stappen hebt u Azure-resources in een resourcegroep gemaakt. Als u deze resources in de toekomst waarschijnlijk niet nodig hebt, kunt u ze verwijderen door de resourcegroep te verwijderen.
Selecteer Resourcegroepen in het menu of op de beginpagina van de Azure-portal. Selecteer myResourceGroup op de pagina Resourcegroepen.
Controleer op de pagina myResourceGroup of de weergegeven resources de resources zijn die u wilt verwijderen.
Selecteer Resourcegroep verwijderen, typ myResourceGroup in het tekstvak om dit te bevestigen en selecteer Verwijderen.
Volgende stappen
In deze zelfstudie hebt u een ASP.NET Core-web-app in Azure geïmplementeerd en u hebt een Unity-app geconfigureerd en geïmplementeerd. U hebt ruimtelijk ankers met de app gemaakt en u hebt deze gedeeld met andere apparaten met behulp van uw ASP.NET Core-web-app.
U kunt uw ASP.NET Core-web-app verbeteren zodat deze gebruikmaakt van Azure Cosmos DB om de opslag van uw gedeelde ruimtelijke anker-id's te behouden. Door ondersteuning voor Azure Cosmos DB toe te voegen, kunt u vandaag nog een anker maken met uw ASP.NET Core web-app. Met de anker-id die is opgeslagen in uw web-app, kunt u de app later terugsturen om het anker opnieuw te vinden.