Ćwiczenie — rozpoczynanie pracy z usługą Azure Spatial Anchors

Ukończone

W tej lekcji zapoznasz się z krokami wymaganymi do wykonania następujących czynności:

  • Uruchom i zatrzymaj sesję usługi Azure Spatial Anchors.
  • Tworzenie, przekazywanie i pobieranie kotwic przestrzennych na jednym urządzeniu.

W wyniku ukończenia wymagań wstępnych dla tego modułu learn należy mieć już projekt aparatu Unity, który został skonfigurowany dla bibliotek OpenXR i MRTK3. Otwórz ten projekt, a następnie sprawdź, czy masz wybrane odpowiednie możliwości:

  1. Przejdź do pozycji Edytuj > Ustawienia publikowania w programie Project Ustawienia > Player>.
  2. Przewiń w dół do sekcji Możliwości i wybierz następujące opcje, jeśli nie zostały jeszcze wybrane:
  • SpatialPerception
  • InternetClient
  • PrivateNetworkClientServer

Po zakończeniu zamknij okno project Ustawienia i kontynuuj pracę z następnymi krokami.

Instalowanie wbudowanych pakietów aparatu Unity i importowanie zasobów samouczka

  1. Na pasku menu wybierz pozycję Okno> Menedżer pakietów.

  2. Sprawdź, czy zainstalowano program AR Foundation w wersji 5.0.3 lub najnowszej.

    Screenshot of selections for verifying the AR Foundation version for Package Manager.

Importowanie zasobów samouczka

  1. Dodaj zestaw SDK usługi Azure Spatial Anchors w wersji 2.12 lub najnowszą do projektu, wykonując czynności opisane w tym samouczku.

  2. Pobierz i zaimportuj następujące pakiety niestandardowe aparatu Unity w następującej kolejności:

    Uwaga

    Importowanie zarówno narzędzi MRTK3, jak i ASA może powodować błędy, gdy wersja pakietu ARFoundation nie jest zgodna z zaimportowaną wersją systemu ARSubsystems. Dopóki nie zostanie to naprawione, można ręcznie dodać com.unity.xr.arsubsystems w wersji 5.0.2 do Menedżer pakietów projektu jako obejście.

    Zostanie wyświetlone ostrzeżenie, że system ARSubsystems został przestarzały, ale możesz go zignorować. Jeśli zobaczysz jakiekolwiek ostrzeżenia CS0618 z komunikatem "WorldAnchor.SetNativeSpatialAnchorPtr(IntPtr)" są przestarzałe, możesz je również zignorować.

Przygotowywanie sceny

W tej sekcji przygotujesz scenę, dodając niektóre prefabryki samouczka.

  1. W okienku Projekt przejdź do zestawu narzędzi MRTK zasobów>. Tutorials.AzureSpatialAnchors>Prefabs folder, a następnie przeciągnij następujące prefabs do okienka Hierarchy (Hierarchia), aby dodać je do sceny:

    • Prefabki dla rodziców przycisków
    • Prefab instrukcji
    • Prefabryki ParentAnchor
    • Zmień wartości Tranform/Position elementu ButtonParent na następujące wartości: X = 0.0, Y = 1.6, Z = 0.6
    • Zmień wartości Transform/Position instrukcji na następujące: X = -0.8, Y = 2.0, Z = 2.0
    • Zmień wartości Tranform/Position elementu ParentAnchor na następujące wartości: X = -0,3, Y = 1,5, Z = 0,6Screenshot of prefabs added to the Hierarchy pane.

    Napiwek

    Jeśli znajdziesz duże ikony w scenie (na przykład duże ikony "T") rozpraszające uwagę, możesz je ukryć, otwierając listę rozwijaną Gizmos i wyłączając wyświetlanie ikon dla poszczególnych obiektów.

  2. W oknie Hierarchia wybierz pozycję MRTK XR Rig> Aparat Przesunięcie.

  3. W okienku Inspector (Inspektor) użyj przycisku Add Component (Dodaj składnik), aby dodać następujące składniki:

    • Menedżer kotwicy AR (skrypt)
    • DisableDiagnosticsSystem (skrypt)

    Uwaga

    Po dodaniu składnika AR Anchor Manager (Script) składnik źródła XR jest automatycznie dodawany, ponieważ składnik MENEDŻERA kotwicy AR (skrypt) wymaga tego składnika.

    Screenshot of adding AR Anchor Manager.

Konfigurowanie przycisków do obsługi sceny

W tej sekcji dodasz skrypty do sceny, aby utworzyć serię zdarzeń przycisków, które pokazują podstawy działania kotwic lokalnych i kotwic przestrzennych w aplikacji.

  1. W okienku Hierarchia rozwiń obiekt ButtonParent i wybierz pierwszy obiekt podrzędny StartAzureSession.

  2. W okienku Inspector (Inspektor) przejdź do składnika Pressable Button . Ma ono zdarzenie Włączone ().

  3. W hierarchii wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w polu Brak (Obiekt) zdarzenia On Clicked().

  4. Wybierz listę rozwijaną Brak funkcji, a następnie wybierz pozycję AnchorModuleScript>StartAzureSession (). Ta funkcja zostanie wykonana po wyzwoleniu zdarzenia.

    Screenshot that shows Unity with the StartAzureSession button's OnClick event configured.

  5. W okienku Hierarchia na liście podrzędnej ButtonParent wybierz pozycję StopAzureSession

  6. W okienku Inspector (Inspektor) przejdź do składnika Pressable Button .

  7. W hierarchii wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w polu Brak (Obiekt) zdarzenia On Clicked().

  8. Wybierz listę rozwijaną Brak funkcji, a następnie wybierz pozycję AnchorModuleScript>StopAzureSession ().

    Screenshot of Unity with the StopAzureSession button's OnClick event configured.

  9. W okienku Hierarchia na liście podrzędnej ButtonParent wybierz pozycję UtwórzAzureAnchor.

  10. W okienku Inspector (Inspektor) przejdź do składnika Pressable Button .

  11. W hierarchii wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w polu Brak (Obiekt) zdarzenia On Clicked().

  12. Wybierz listę rozwijaną Brak funkcji i wybierz pozycję AnchorModuleScript>CreateAzureAnchor.

  13. Ponownie wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w parametrze AnchorModuleScript.CreateAzureAnchor.

    Screenshot of Unity with the CreateAzureAnchor button's OnClick event configured.

  14. W okienku Hierarchia na liście podrzędnej ButtonParent wybierz pozycję UsuńLokalnyAnchor.

  15. W okienku Inspector (Inspektor) przejdź do składnika Pressable Button .

  16. W hierarchii wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w polu Brak (Obiekt) zdarzenia On Clicked().

  17. Wybierz listę rozwijaną Brak funkcji, a następnie wybierz pozycję AnchorModuleScript>RemoveLocalAnchor.

  18. Ponownie wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w parametrze AnchorModuleScript.RemoveLocalAnchor.

    Screenshot of Unity with the RemoveLocalAnchor button's OnClick event configured.

  19. W okienku Hierarchia na liście podrzędnej ButtonParent wybierz pozycję ZnajdźAzureAnchor.

  20. W okienku Inspector (Inspektor) przejdź do składnika Pressable Button .

  21. W hierarchii wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w polu Brak (Obiekt) zdarzenia On Clicked().

  22. Wybierz listę rozwijaną Brak funkcji, a następnie wybierz pozycję AnchorModuleScript>FindAzureAnchor.

    Screenshot of Unity with the FindAzureAnchor button's OnClick event configured.

  23. W okienku Hierarchia na liście podrzędnej ButtonParent wybierz pozycję UsuńAzureAnchor.

  24. W okienku Inspector (Inspektor) przejdź do składnika Pressable Button .

  25. W hierarchii wybierz obiekt ParentAnchor, a następnie przeciągnij go do inspektora i upuść go w polu Brak (Obiekt) zdarzenia On Clicked().

  26. Wybierz listę rozwijaną Brak funkcji, a następnie wybierz pozycję AnchorModuleScript>DeleteAzureAnchor.

    Screenshot of Unity with the DeleteAzureAnchor button's OnClick event configured.

Połączenie scenę do zasobu platformy Azure

  1. W okienku Hierarchia wybierz obiekt ParentAnchor .

  2. W okienku Inspector (Inspektor) znajdź składnik Spatial Anchor Manager (Script).

  3. Skonfiguruj sekcję Poświadczenia przy użyciu poświadczeń z konta usługi Azure Spatial Anchors utworzonego w ramach wymagań wstępnych dla tej serii samouczków:

    • W polu Identyfikator konta usługi Spatial Anchors wklej wartość Identyfikator konta z konta usługi Azure Spatial Anchors.
    • W polu Klucz konta usługi Spatial Anchors wklej wartość podstawowego lub pomocniczego klucza dostępu z konta usługi Azure Spatial Anchors.
    • W polu Domena konta usługi Spatial Anchors wklej wartość Domena konta z konta usługi Azure Spatial Anchors.

    Screenshot of Unity with the Spatial Anchor Manager configured.

Wypróbuj podstawowe zachowania usługi Azure Spatial Anchors

Usługa Azure Spatial Anchors nie może działać w środowisku Unity. Aby przetestować funkcje usługi Azure Spatial Anchors, należy skompilować projekt i wdrożyć aplikację na urządzeniu.

Napiwek

Aby zapoznać się z przypomnieniem dotyczącym kompilowania i wdrażania projektu aparatu Unity na urządzeniu HoloLens 2, zobacz artykuł Tworzenie aplikacji na urządzeniu HoloLens 2 , począwszy od sekcji (Opcjonalnie) Kompilowanie i wdrażanie aplikacji .

Po uruchomieniu aplikacji na urządzeniu postępuj zgodnie z instrukcjami wyświetlanymi na ekranie na panelu Instrukcje samouczka usługi Azure Spatial Anchor:

  1. Przenieś moduł do innej lokalizacji.
  2. Rozpocznij sesję platformy Azure.
  3. Utwórz kotwicę platformy Azure w lokalizacji modułu.
  4. Zatrzymaj sesję platformy Azure.
  5. Usuń kotwicę lokalną, aby umożliwić użytkownikowi przeniesienie modułu.
  6. Przenieś moduł do innego miejsca.
  7. Rozpocznij sesję platformy Azure.
  8. Znajdź kotwicę platformy Azure, aby umieścić moduł w lokalizacji z kroku 3.
  9. Usuń kotwicę platformy Azure.
  10. Zatrzymaj sesję platformy Azure.

Uwaga

Usługa Azure Spatial Anchors używa Internetu do zapisywania i ładowania danych kotwicy. Upewnij się, że urządzenie jest połączone z Internetem.