Relazioni di ancoraggio e individuazione dei modi in Ancoraggi nello spazio di Azure

Usando le relazioni di ancoraggio, è possibile creare ancoraggi connessi in uno spazio e quindi porre domande simili alle seguenti:

  • Ci sono ancoraggi nelle vicinanze?
  • Quanto sono lontani?

Esempi

È possibile usare ancoraggi connessi in casi simili ai seguenti:

  • Un lavoratore deve completare un'attività che comporta la visita in varie sedi in una fabbrica industriale. La factory ha ancoraggi nello spazio in ogni posizione. Un'app HoloLens o per dispositivi mobili aiuta il lavoratore da una posizione all'altra. L'app richiede prima di tutto gli ancoraggi nello spazio nelle vicinanze e quindi guida il ruolo di lavoro alla posizione successiva. L'app mostra visivamente la direzione generale e la distanza verso la posizione successiva.

  • Un museo crea ancoraggi nello spazio ai display pubblici. Insieme, questi ancoraggi formano un tour di un'ora delle mostre pubbliche essenziali del museo. In un display pubblico, i visitatori possono aprire l'app di realtà mista del museo sul proprio dispositivo mobile. Poi puntano la fotocamera del telefono intorno allo spazio per vedere la direzione generale e la distanza con gli altri display pubblici sul tour. Mentre un utente cammina verso una visualizzazione pubblica, l'app aggiorna la direzione generale e la distanza per aiutare l'utente.

Configurare la modalità di ricerca

Un'app che usa la direzione di visualizzazione e la distanza tra gli ancoraggi per fornire indicazioni consiste nell'usare il metodo di ricerca. La ricerca di vie è diversa dalla navigazione turn-by-turn. Nella navigazione a turno, gli utenti sono guidati intorno alle pareti, attraverso le porte e tra i piani. Con il metodo di ricerca, l'utente ottiene suggerimenti sulla direzione generale della destinazione. Ma l'inferenza o la conoscenza dello spazio aiuta anche l'utente a spostarsi attraverso la struttura alla destinazione.

Per creare un'esperienza di ricerca dei modi, preparare prima di tutto uno spazio per l'esperienza e sviluppare un'app con cui gli utenti interagiranno. Questi sono i passaggi concettuali:

  1. Pianificare lo spazio: decidere quali posizioni all'interno dello spazio faranno parte dell'esperienza di ricerca. Negli scenari, il supervisore della fabbrica o il coordinatore del tour del museo potrebbe decidere quali posizioni includere nell'esperienza di ricerca.

  2. Connessione ancoraggi: visita le posizioni scelte per creare ancoraggi nello spazio. Puoi farlo in modalità amministratore dell'app per l'utente finale o in un'app diversa. Si connette o si correla ogni ancoraggio agli altri. Il servizio gestisce queste relazioni.

  3. Avviare l'esperienza dell'utente finale: gli utenti eseguono l'app per individuare un ancoraggio, che può trovarsi in una delle posizioni scelte. La progettazione complessiva deve determinare le posizioni in cui gli utenti possono accedere all'esperienza.

  4. Trova ancoraggi nelle vicinanze: dopo che l'utente trova un ancoraggio, l'app può richiedere ancoraggi nelle vicinanze. Questa procedura restituisce una posizione tra il dispositivo e questi ancoraggi.

  5. Guida all'utente: l'app può usare la posizione per ognuno di questi ancoraggi per fornire indicazioni sulla direzione e la distanza generali dell'utente. Ad esempio, il feed della fotocamera nell'app potrebbe mostrare un'icona e una freccia per rappresentare ogni destinazione potenziale, come illustrato nell'immagine seguente.

  6. Perfezionare le indicazioni: man mano che l'utente cammina, l'app può calcolare periodicamente una nuova posizione tra il dispositivo e l'ancoraggio di destinazione. L'app continua a perfezionare i suggerimenti che consentono all'utente di arrivare alla destinazione.

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

ancoraggi Connessione

Per creare un'esperienza di ricerca dei modi, è prima necessario posizionare gli ancoraggi nelle posizioni scelte. In questa sezione si presuppone che l'amministratore dell'app abbia già completato questo lavoro.

Connessione ancoraggi in una singola sessione

Per connettere ancoraggi:

  1. Accedere alla prima posizione e creare l'ancoraggio A usando cloudSpatialAnchorSession.
  2. Andare alla seconda posizione. La piattaforma MR/AR sottostante tiene traccia del movimento.
  3. Creare ancoraggio B usando la stessa CloudSpatialAnchorSession. Gli ancoraggi A e B sono ora connessi. Il servizio Ancoraggi nello spazio mantiene questa relazione.
  4. Continuare la procedura per gli ancoraggi rimanenti.

Connessione ancoraggi in più sessioni

È possibile connettere ancoraggi nello spazio su più sessioni. Usando questo metodo, è possibile creare e connettere alcuni ancoraggi contemporaneamente e quindi creare e connettere altri ancoraggi in un secondo momento.

Per connettere ancoraggi su più sessioni:

  1. L'app crea alcuni ancoraggi (Ancoraggi A e B) in una CloudSpatialAnchorSession.
  2. In un momento diverso, l'app individua uno di questi ancoraggi (ad esempio, Ancoraggio A) usando una nuova CloudSpatialAnchorSession.
  3. Cammina in una nuova posizione. La piattaforma di realtà mista o realtà aumentata sottostante tiene traccia del movimento.
  4. Creare Ancoraggio C usando la stessa CloudSpatialAnchorSession. Gli ancoraggi A, B e C sono ora connessi. Il servizio Ancoraggi nello spazio mantiene questa relazione.

È possibile continuare questa procedura per più ancoraggi e più sessioni nel tempo.

Verificare le connessioni di ancoraggio

L'app può verificare che due ancoraggi siano connessi eseguendo una query per gli ancoraggi nelle vicinanze, che si esegue impostando su NearAnchorCriteria .CloudSpatialAnchorWatcher Quando il risultato della query contiene l'ancoraggio di destinazione, viene verificata la connessione di ancoraggio. Se gli ancoraggi non sono connessi, l'app può provare a connetterle di nuovo.

Ecco alcuni motivi per cui gli ancoraggi potrebbero non riuscire a connettersi:

  • La piattaforma di realtà mista o realtà aumentata sottostante perde il rilevamento durante il processo di connessione degli ancoraggi.
  • A causa di un errore di rete durante la comunicazione con il servizio Ancoraggi nello spazio, non è stato possibile rendere persistente la connessione di ancoraggio.

Trovare codice di esempio

Per trovare il codice di esempio che illustra come connettere ancoraggi e per eseguire query nelle vicinanze, vedere App di esempio di ancoraggi nello spazio.