Zakotwiczenie relacji i znajdowanie sposobów w usłudze Azure Spatial Anchors

Za pomocą relacji kotwicy możesz utworzyć połączone kotwice w przestrzeni, a następnie zadawać pytania podobne do następujących:

  • Czy w pobliżu znajdują się kotwice?
  • Jak daleko są?

Przykłady

W takich przypadkach można użyć połączonych kotwic:

  • Pracownik musi wykonać zadanie, które obejmuje zwiedzanie różnych lokalizacji w fabryce przemysłowej. Fabryka ma kotwice przestrzenne w każdej lokalizacji. Urządzenie HoloLens lub aplikacja mobilna pomaga w prowadzeniu procesu roboczego z jednej lokalizacji do następnej. Aplikacja najpierw prosi o pobliskie kotwice przestrzenne, a następnie prowadzi proces roboczy do następnej lokalizacji. Aplikacja wizualnie pokazuje ogólny kierunek i odległość do następnej lokalizacji.

  • Muzeum tworzy kotwice przestrzenne na publicznych wyświetlaczach. Razem te kotwice tworzą jednogodzinną wycieczkę po podstawowych publicznych wyświetlaczach muzeum. Na wystawie publicznej odwiedzający mogą otworzyć aplikację rzeczywistości mieszanej muzeum na swoim urządzeniu przenośnym. Następnie wskazują aparat telefoniczny wokół przestrzeni, aby zobaczyć ogólny kierunek i odległość do innych publicznych wyświetlaczy na trasie. Gdy użytkownik przechodzi w kierunku wyświetlania publicznego, aplikacja aktualizuje ogólny kierunek i odległość, aby pomóc w prowadzeniu użytkownika.

Konfigurowanie znajdowania drogi

Aplikacja, która używa kierunku widzenia i odległości między kotwicami w celu zapewnienia wskazówek, korzysta ze sposobów znajdowania. Znajdowanie drogi różni się od nawigacji z kolei. Nawigacja z kolei umożliwia użytkownikom poruszanie się po ścianach, przez drzwi i między podłogami. W przypadku znajdowania drogi użytkownik otrzymuje wskazówki dotyczące ogólnego kierunku miejsca docelowego. Jednak wnioskowanie lub wiedza o przestrzeni pomaga również użytkownikowi przechodzić przez strukturę do miejsca docelowego.

Aby utworzyć środowisko znajdowania sposobów, najpierw przygotuj miejsce na środowisko i opracuj aplikację, z którą użytkownicy będą korzystać. Są to kroki koncepcyjne:

  1. Zaplanuj przestrzeń: zdecyduj, które lokalizacje w przestrzeni będą częścią środowiska znajdowania drogi. W naszych scenariuszach kierownik fabryki lub koordynator wycieczki po muzeum może zdecydować, które lokalizacje mają zostać uwzględnione w środowisku znajdowania drogi.

  2. Połączenie kotwicy: odwiedź wybrane lokalizacje, aby utworzyć kotwice przestrzenne. Można to zrobić w trybie administratora aplikacji użytkownika końcowego lub w innej aplikacji całkowicie. Połączysz się z każdą kotwicą lub powiązasz ją z innymi. Usługa utrzymuje te relacje.

  3. Uruchom środowisko użytkownika końcowego: użytkownicy uruchamiają aplikację, aby zlokalizować kotwicę, która może znajdować się w dowolnej z wybranych lokalizacji. Ogólny projekt powinien określać lokalizacje, w których użytkownicy mogą wprowadzać środowisko.

  4. Znajdź pobliskie kotwice: po znalezieniu kotwicy przez użytkownika aplikacja może zażądać pobliskich kotwic. Ta procedura zwraca pozowanie między urządzeniem a tymi kotwicami.

  5. Przewodnik użytkownika: aplikacja może używać pozy do każdego z tych kotwic, aby przekazać wskazówki dotyczące ogólnego kierunku i odległości użytkownika. Na przykład źródło danych aparatu w aplikacji może wyświetlić ikonę i strzałkę reprezentującą każde potencjalne miejsce docelowe, jak pokazano na poniższej ilustracji.

  6. Uściślij wskazówki: gdy użytkownik będzie przechodził, aplikacja może okresowo obliczyć nową pozycję między urządzeniem a kotwicą docelową. Aplikacja nadal uściśli wskazówki dotyczące wskazówek, które ułatwiają użytkownikowi dotarcie do miejsca docelowego.

    An example of how an app can show way-finding guidance

kotwice Połączenie

Aby utworzyć środowisko znajdowania drogi, należy najpierw umieścić kotwice w wybranych lokalizacjach. W tej sekcji przyjmiemy, że administrator aplikacji już zakończył tę pracę.

Połączenie kotwic w jednej sesji

Aby połączyć kotwice:

  1. Przejdź do pierwszej lokalizacji i utwórz zakotwiczenie A przy użyciu elementu CloudSpatialAnchorSession.
  2. Przejdź do drugiej lokalizacji. Podstawowa platforma MR/AR śledzi ruch.
  3. Utwórz kotwicę B przy użyciu tego samego elementu CloudSpatialAnchorSession. Kotwice A i B są teraz połączone. Usługa Spatial Anchors utrzymuje tę relację.
  4. Kontynuuj procedurę pozostałych kotwic.

Połączenie kotwice w wielu sesjach

Zakotwiczenia przestrzenne można łączyć za pomocą wielu sesji. Przy użyciu tej metody można utworzyć i połączyć niektóre kotwice jednocześnie, a następnie utworzyć i połączyć więcej kotwic.

Aby połączyć kotwice za pośrednictwem wielu sesji:

  1. Aplikacja tworzy niektóre kotwice (Kotwice A i B) w jednej usłudze CloudSpatialAnchorSession.
  2. W innym czasie aplikacja lokalizuje jedną z tych kotwic (na przykład Anchor A) przy użyciu nowej aplikacji CloudSpatialAnchorSession.
  3. Przejdź do nowej lokalizacji. Podstawowa platforma rzeczywistości mieszanej lub rzeczywistości rozszerzonej śledzi ruch.
  4. Utwórz kotwicę C przy użyciu tej samej usługi CloudSpatialAnchorSession. Kotwice A, B i C są teraz połączone. Usługa Spatial Anchors utrzymuje tę relację.

Tę procedurę można kontynuować, aby uzyskać więcej kotwic i więcej sesji w czasie.

Weryfikowanie połączeń zakotwiczonych

Aplikacja może sprawdzić, czy dwie kotwice są połączone, wysyłając zapytanie dotyczące pobliskich kotwic, co można zrobić, ustawiając NearAnchorCriteria element na .CloudSpatialAnchorWatcher Gdy wynik zapytania zawiera kotwicę docelową, zostanie zweryfikowane połączenie zakotwiczenia. Jeśli kotwice nie są połączone, aplikacja może spróbować połączyć je ponownie.

Oto kilka powodów, dla których kotwice mogą nie nawiązać połączenia:

  • Podstawowa platforma rzeczywistości mieszanej lub rzeczywistości rozszerzonej straciła śledzenie podczas procesu łączenia kotwic.
  • Z powodu błędu sieciowego podczas komunikacji z usługą Spatial Anchors nie można utrwalić połączenia kotwicy.

Znajdowanie przykładowego kodu

Aby znaleźć przykładowy kod pokazujący sposób łączenia kotwic i wykonywania pobliskich zapytań, zobacz Przykładowe aplikacje usługi Spatial Anchors.