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

Concluído

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

  • Iniciar e parar uma sessão das Âncoras Espaciais do Azure.
  • Criar, carregar e baixar âncoras espaciais em um só dispositivo.

Como resultado da conclusão dos pré-requisitos para este módulo do Learn, você já deve ter um projeto do Unity definido e configurado para o OpenXR e o MRTK3. Abra esse projeto, em seguida, verifique se você tem as funcionalidades adequadas selecionadas:

  1. Acesse Editar > Configurações do Projeto > Player > Configurações de Publicação.
  2. Role a página para baixo até a seção Funcionalidades e escolha os seguintes itens se eles ainda não estiverem selecionados:
  • SpatialPerception
  • InternetClient
  • PrivateNetworkClientServer

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

Instalar pacotes do Unity integrados e importar os ativos do tutorial

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

  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 Âncoras Espaciais do Azure V2.12 ou a última versão ao seu projeto seguindo este tutorial.

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

    Observação

    Importar o MRTK3 e o ASA pode causar erros quando a versão do pacote ARFoundation não corresponder à 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 aparecerem avisos CS0618 informando que o "WorldAnchor.SetNativeSpatialAnchorPtr(IntPtr)" está obsoleto, ignore-os.

Preparar a cena

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

  1. No painel Projeto, vá para a pasta Ativos>MRTK.Tutorials.AzureSpatialAnchors>Prefabs, em seguida, arraste o seguinte prefabs para o painel Hierarquia para adicioná-los à sua cena:

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

    Dica

    Se você encontrar ícones grandes na cena (por exemplo, os ícones "T" grandes com borda), oculte-os abrindo a lista suspensa Gadgets e desativando a exibição de ícones para objetos individuais.

  2. Na janela Hierarquia, selecione MRTK XR Rig>Deslocamento da Câmera.

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

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

    Observação

    Quando você adiciona o componente Gerenciador de âncora de RA (script), o componente XR Origin é adicionado automaticamente, porque o componente Gerenciador de âncora de RA (script) exige isso.

    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 conceitos básicos 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. Ele tem um evento On Clicked ().

  3. Em Hierarquia, clique no objeto ParentAnchor e arraste-o para o Inspetor e solte-o no campo None (Object) do evento On Clicked ().

  4. Clique na lista suspensa Sem Função e selecione AnchorModuleScript>StartAzureSession (). Essa função será executada quando o evento for disparado.

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

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

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

  7. Em Hierarquia, clique no objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo None (Object) do evento On Clicked ().

  8. Clique na lista suspensa Sem Função e selecione AnchorModuleScript>StopAzureSession ().

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

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

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

  11. Em Hierarquia, clique no objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo None (Object) do evento On Clicked ().

  12. Clique na lista suspensa Sem Função e selecione AnchorModuleScript>CreateAzureAnchor (GameObject).

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

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

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

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

  16. Em Hierarquia, clique no objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo None (Object) do evento On Clicked ().

  17. Clique na lista suspensa Sem Função e selecione AnchorModuleScript>RemoveLocalAnchor (GameObject).

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

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

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

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

  21. Em Hierarquia, clique no objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo None (Object) do evento On Clicked ().

  22. Clique na lista suspensa Sem Função e selecione AnchorModuleScript>FindAzureAnchor.

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

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

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

  25. Em Hierarquia, clique no objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo None (Object) do evento On Clicked ().

  26. Clique na lista suspensa Sem Função e 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 Gerenciador de Âncora Espacial (Script).

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

    • No campo ID da conta de Âncoras Espaciais, cole o valor ID da conta da sua conta de Âncoras Espaciais do Azure.
    • No campo Chave de conta das Â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 das Â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 das Âncoras Espaciais do Azure, você precisa compilar o projeto e implantar o aplicativo no dispositivo.

Dica

Para relembrar como criar e implantar seu projeto do Unity no HoloLens 2, confira o artigo Como criar seu aplicativo para o HoloLens 2 na seção (Opcional) Criar e implantar o aplicativo.

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

  1. Mover 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. Localize a âncora do Azure para posicionar o cubo no local da etapa 3.
  9. Exclua a âncora do Azure.
  10. Pare a sessão do Azure.

Cuidado

As Âncoras Espaciais do Azure usam a Internet para salvar e carregar os dados de âncora. Verifique se o dispositivo está conectado à Internet.