Exercício - Introdução às Âncoras Espaciais do Azure

Concluído

Nesta unidade, você explorará as etapas necessárias para:

  • Inicie e pare uma sessão do Azure Spatial Anchors.
  • Crie, carregue e baixe âncoras espaciais em um único dispositivo.

Como resultado da conclusão dos pré-requisitos para este módulo de aprendizagem, você já deve ter um projeto Unity configurado para OpenXR e MRTK3. Abra esse projeto e, em seguida, verifique se você tem os recursos adequados selecionados:

  1. Navegue até Editar > configurações do projeto, configurações de publicação do > player>.
  2. Role para baixo até a seção Recursos e selecione o seguinte se ainda não estiverem selecionados:
  • Perceção Espacial
  • InternetClient
  • PrivateNetworkClientServer

Quando terminar, feche a janela Configurações do projeto e continue com as próximas etapas.

Instale pacotes Unity integrados e importe os ativos do tutorial

  1. Na barra de menus, selecione Gerenciador de Pacotes de Janela>.

  2. Verifique se o AR Foundation versão 5.0.3 ou versão mais recente está instalado.

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

Importar os ativos do tutorial

  1. Adicione o SDK do Azure Spatial Anchors V2.12, ou a versão mais recente, ao seu projeto seguindo este tutorial.

  2. Baixe e importe os seguintes pacotes personalizados Unity nesta ordem:

    Nota

    A importação de MRTK3 e ASA pode causar erros quando a versão do pacote ARFoundation não corresponde à versão importada do ARSubsystems. Até que isso seja corrigido, você pode adicionar manualmente com.unity.xr.arsubsystems versão 5.0.2 ao Gerenciador de Pacotes do projeto como uma solução alternativa.

    Você receberá um aviso de que o ARSubsystems foi preterido, mas pode ignorá-lo. Se você vir algum aviso CS0618 que diga que "WorldAnchor.SetNativeSpatialAnchorPtr(IntPtr)" está obsoleto, você também pode ignorá-los.

Preparar a cena

Nesta seção, você preparará a cena adicionando alguns dos pré-fabricados do tutorial.

  1. No painel Projeto, vá para o MRTK de Ativos>. Tutorials.AzureSpatialAnchors Prefabs> pasta e, em seguida, arraste os seguintes pré-fabricados para o painel Hierarquia para adicioná-los à sua cena:

    • Pré-fabricados ButtonParent
    • Instruções pré-fabricadas
    • Pré-fabricados ParentAnchor
    • Altere os valores Tranform/Position de ButtonParent para o seguinte: X = 0,0, Y = 1,6, Z = 0,6
    • Altere os valores Tranform/Position das instruções para o seguinte: X = -0,8, Y = 2,0, Z = 2,0
    • Altere os valores Tranform/Position do ParentAnchor para o seguinte: X = -0,3, Y = 1,5, Z = 0,6Screenshot of prefabs added to the Hierarchy pane.

    Gorjeta

    Se você encontrar os ícones grandes em sua cena (por exemplo, os grandes ícones "T" emoldurados) distraídos, você pode ocultá-los abrindo a lista suspensa do Gizmos e desativando a exibição de ícones para objetos individuais.

  2. Na janela Hierarquia, selecione MRTK XR Rig>Camera Offset.

  3. No painel Inspetor, use o botão Adicionar componente para adicionar os seguintes componentes:

    • Gerenciador de âncora de RA (script)
    • DisableDiagnosticsSystem (Script)

    Nota

    Quando você adiciona o componente AR Anchor Manager (Script), o componente XR Origin é adicionado automaticamente, porque o componente AR Anchor Manager (Script) o exige.

    Screenshot of adding AR Anchor Manager.

Configurar os botões para operar a cena

Nesta seção, você adicionará scripts à cena para criar uma série de eventos de botão que demonstram os fundamentos de como as âncoras locais e as âncoras espaciais se comportam em um aplicativo.

  1. No painel Hierarquia, expanda o objeto ButtonParent e selecione o primeiro objeto filho, StartAzureSession.

  2. No painel Inspetor, navegue até o componente Botão pressionável. Tem um evento On Clicked ().

  3. Na Hierarquia, selecione o objeto ParentAnchor e arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().

  4. Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>StartAzureSession (). Esta função será executada quando o evento for acionado.

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

  5. No painel Hierarquia na lista filho ButtonParent, selecione StopAzureSession

  6. No painel Inspetor, navegue até o componente Botão pressionável.

  7. Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().

  8. Selecione a lista suspensa Sem Função e, em seguida, selecione AnchorModuleScript>StopAzureSession ().

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

  9. No painel Hierarquia na lista filho ButtonParent, selecione CreateAzureAnchor.

  10. No painel Inspetor, navegue até o componente Botão pressionável.

  11. Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().

  12. Selecione a lista suspensa Sem função e selecione AnchorModuleScript>CreateAzureAnchor.

  13. Selecione o objeto ParentAnchor novamente, arraste-o para o Inspetor e solte-o no parâmetro de AnchorModuleScript.CreateAzureAnchor.

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

  14. No painel Hierarquia na lista filho ButtonParent, selecione RemoveLocalAnchor.

  15. No painel Inspetor, navegue até o componente Botão pressionável.

  16. Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().

  17. Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>RemoveLocalAnchor.

  18. Selecione o objeto ParentAnchor novamente, arraste-o para o Inspetor e solte-o no parâmetro AnchorModuleScript.RemoveLocalAnchor.

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

  19. No painel Hierarquia na lista filho ButtonParent, selecione FindAzureAnchor.

  20. No painel Inspetor, navegue até o componente Botão pressionável.

  21. Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().

  22. Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>FindAzureAnchor.

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

  23. No painel Hierarquia na lista filho ButtonParent, selecione DeleteAzureAnchor.

  24. No painel Inspetor, navegue até o componente Botão pressionável.

  25. Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().

  26. Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>DeleteAzureAnchor.

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

Conectar a cena ao recurso do Azure

  1. No painel Hierarquia, selecione o objeto ParentAnchor.

  2. No painel Inspetor, localize o componente Spatial Anchor Manager (Script).

  3. Configure a seção Credenciais com as credenciais da conta Âncoras Espaciais do Azure que você criou como parte dos pré-requisitos para esta série de tutoriais:

    • No campo ID da Conta de Âncoras Espaciais, cole o valor da ID da Conta da sua conta de Âncoras Espaciais do Azure.
    • No campo Chave de Conta de Âncoras Espaciais, cole o valor da Chave de Acesso primária ou secundária da sua conta de Âncoras Espaciais do Azure.
    • No campo Domínio da Conta de Âncoras Espaciais, cole o valor de Domínio da Conta da sua conta de Âncoras Espaciais do Azure.

    Screenshot of Unity with the Spatial Anchor Manager configured.

Experimente os comportamentos básicos das Âncoras Espaciais do Azure

As Âncoras Espaciais do Azure não podem ser executadas no Unity. Para testar a funcionalidade Âncoras Espaciais do Azure, você precisa criar o projeto e implantar o aplicativo em seu dispositivo.

Gorjeta

Para obter um lembrete sobre como criar e implantar seu projeto Unity no HoloLens 2, consulte o artigo Construindo seu aplicativo no HoloLens 2 começando na seção (Opcional) Compilar e implantar o aplicativo.

Quando o aplicativo for executado em seu dispositivo, siga as instruções na tela exibidas no painel Instruções do Tutorial da Âncora Espacial do Azure:

  1. Mova o cubo para um local diferente.
  2. Inicie uma sessão do Azure.
  3. Crie uma âncora do Azure no local do cubo.
  4. Pare a sessão do Azure.
  5. Remova a âncora local para permitir que o usuário mova o cubo.
  6. Mova o cubo para outro lugar.
  7. Inicie uma sessão do Azure.
  8. Encontre a âncora do Azure para posicionar o cubo no local a partir da etapa 3.
  9. Exclua a âncora do Azure.
  10. Pare a sessão do Azure.

Atenção

As Âncoras Espaciais do Azure usam a Internet para salvar e carregar os dados da âncora. Certifique-se de que o dispositivo está ligado à Internet.