5. Integrar âncoras espaciais Azure numa experiência partilhada

Neste tutorial, você aprenderá a integrar Azure Spatial Anchors (ASA) na experiência partilhada. A ASA permite que vários dispositivos tenham uma referência comum ao mundo físico para que os utilizadores se vejam na sua localização física real e vejam a experiência partilhada no mesmo local.

Objetivos

  • Integre a ASA numa experiência partilhada para o alinhamento de vários dispositivos
  • Conheça os fundamentos de como a ASA funciona no contexto de uma experiência partilhada local

Preparando a cena

Na janela hierarquia, expanda o objeto SharedPlayground e expanda o objeto TableAnchor para expor os seus objetos infantis:

Unidade com sharedPlayground e objetos TableAnchor expandidos

Na janela Project, navegue para o Ativo MRTK. Tutorials.MultiUserCapabilitiesPré-fabricadas pasta e arrastar os botões pré-fabricados no objeto da criança TableAnchor para adicioná-lo à sua cena como uma criança do objeto TableAnchor:

Unidade com botões recém-adicionados pré-fabricados selecionados

Configurar os botões para operar a cena

Nesta secção, irá configurar uma série de eventos de botões que demonstram os fundamentos de como as âncoras espaciais Azure podem ser usadas para alcançar o alinhamento espacial numa experiência partilhada.

Na janela hierarquia, expanda o objeto Botão e selecione o primeiro objeto de botão para criança chamado StartAzureSsssion:

Unidade com objeto de botão StartAzureSession selecionado

Na janela do Inspetor, localize o componente Interactível (Script) e configuure o evento OnClick () da seguinte forma:

  • Para o campo Nenhum (Objeto), atribua o objeto TableAnchor
  • A partir do dropdown Sem Função, selecione a função AnchorModuleScriptStartAzureSsssion ()

Unidade com botão StartAzureSession OnClick evento configurado

Na janela hierarquia, selecione o segundo objeto do botão para criança chamado CreateAzureAnchor,em seguida, na janela do Inspetor, localize o componente Interactable (Script) e configuure o evento OnClick () da seguinte forma:

  • Para o campo Nenhum (Objeto), atribua o objeto TableAnchor
  • A partir do dropdown sem função, selecione a função AnchorModuleScriptCreateAzureAnchor ()
  • Para o novo campo Nenhum (Objeto de Jogo) que aparece, atribua o objeto TableAnchor

Unidade com o botão CreateAzureAnchor OnClick configurado

Na janela hierarquia, selecione o terceiro objeto de botão para criança chamado ShareAzureAnchor,em seguida, na janela do Inspetor, localize o componente Interagivel (Script) e configuure o evento OnClick () da seguinte forma:

  • Para o campo Nenhum (Objeto), atribua o objeto TableAnchor
  • A partir do dropdown Sem Função, selecione a função SharingModuleScriptShareAzureAnchor ()

Unidade com shareAzureAnchor botão OnClick evento configurado

Na janela hierarquia, selecione o quarto objeto de botão para criança chamado GetAzureAnchor,em seguida, na janela do Inspetor, localize o componente Interactable (Script) e configuure o evento OnClick () da seguinte forma:

  • Para o campo Nenhum (Objeto), atribua o objeto TableAnchor
  • A partir do dropdown sem função, selecione a função SharingModuleScriptGetAzureAnchor ()

Unidade com o botão GetAzureAnchor OnClick evento configurado

Ligando a cena ao recurso Azure

Na janela hierarquia, expanda o objeto SharedPlayground e selecione o objeto TableAnchor.

Na janela do Inspetor, localize o componente Do Gestor de Âncora Espacial (Script) e configuure a secção credenciais com as credenciais da conta Azure Spatial Anchors criada como parte dos Pré-requisitos para esta série tutorial:

  • No campo De ID da Conta de Âncoras Espaciais, cole o ID da conta Azure Spatial Anchors
  • No campo Chave da Conta de Âncoras Espaciais, cole a chave de acesso primária ou secundária da sua conta Azure Spatial Anchors

Unidade com Gestor de Âncora Espacial configurado

Dica

Em vez de definir o ID e Chave da Conta de Âncoras Espaciais na cena, pode defini-lo para todo o seu projeto, isto pode ser vantajoso se tiver várias cenas usando ASA. Para isso, na janela Project, navegue para o > ativo AzureSpatialAnchors.SDK > Resources >> e, em seguida, definir os valores na janela do Inspetor.

Na janela hierarquia, selecione o objeto TableAnchor, em seguida, na janela do Inspetor, localize o componente do Módulo âncora (Script) e configuure-o da seguinte forma:

  • No campo Pin de Partilha Pública, mude alguns dígitos, para que o pino se torne único no seu projeto

Unidade com script do módulo âncora configurado

Com o objeto TableAnchor ainda selecionado, na janela do Inspetor, certifique-se de que todos os componentes do script estão ativados:

  • Verifique a caixa de verificação ao lado dos componentes do Gestor de Âncora Espacial (Script) para o permitir
  • Verifique a caixa de verificação ao lado dos componentes do Script do Módulo âncora (Script) para o ativar
  • Verifique a caixa de verificação ao lado dos componentes do Script do Módulo de Partilha (Script) para o permitir

Unidade com todos os componentes de script TableAnchor ativados

Experimentar a experiência com o alinhamento espacial

Nota

Âncoras Espaciais Azure não podem funcionar na Unidade. Consequentemente, para testar a funcionalidade Azure Spatial Anchors, é necessário implementar o projeto num mínimo de dois dispositivos.

Se agora construir e implementar o projeto Unidade em dois dispositivos, poderá alcançar um alinhamento espacial entre os dispositivos partilhando o ID da Âncora Azure. Para testá-lo, pode seguir estes passos:

  1. No dispositivo 1: Inicie a aplicação (o Rover Explorer é instantâneo e colocado sobre a mesa)
  2. No dispositivo 2: Inicie a aplicação (ambos os utilizadores vêem a tabela com o Rover Explorer, mas a tabela não aparece no mesmo local, e os avatares do utilizador não aparecem onde os utilizadores estão)
  3. No dispositivo 1: Prima o botão Iniciar Azure Session
  4. No dispositivo 1: Prima o botão 'Ancorar azure' (cria âncora na localização do objeto TableAnchor e armazena as informações de ancoragem no recurso Azure).
  5. No dispositivo 1: Prima o botão Share Azure Anchor (partilha o ID da âncora com outros utilizadores em tempo real)
  6. No dispositivo 2: Prima o botão Iniciar Azure Session
  7. No dispositivo 2: Prima o botão Get Azure Anchor (liga-se ao recurso Azure para recuperar as informações de âncora para o ID da âncora partilhada e, em seguida, move o objeto TableAnchor para o local onde a âncora foi criada com o dispositivo 1)

Dica

Se não tiver acesso a dois dispositivos HoloLens, poderá seguir as Âncoras Espaciais do Edifício Azure para dispositivos móveis para implantar o projeto no seu dispositivo móvel.

Parabéns!

Neste tutorial, aprendeu a integrar as poderosas Âncoras Espaciais da Azure para alinhar dispositivos numa experiência partilhada.

Isto também conclui esta série tutorial onde aprendeu a criar uma conta fotónica, criar uma aplicação PUN, integrar pun no projeto Unidade, configurar avatares de utilizadores e objetos partilhados e, finalmente, alinhar vários participantes usando âncoras espaciais Azure.