Exercício - Introdução às Âncoras Espaciais do Azure
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:
- Navegue até Editar > configurações do projeto, configurações de publicação do > player>.
- 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
Na barra de menus, selecione Gerenciador de Pacotes de Janela>.
Verifique se o AR Foundation versão 5.0.3 ou versão mais recente está instalado.
Importar os ativos do tutorial
Adicione o SDK do Azure Spatial Anchors V2.12, ou a versão mais recente, ao seu projeto seguindo este tutorial.
Baixe e importe os seguintes pacotes personalizados Unity nesta ordem:
- MRTK. HoloLens2.Unity.Tutorials.Assets.GettingStarted.3.0.0.unitypackage
- MRTK. HoloLens2.Unity.Tutorials.Assets.AzureSpatialAnchors.3.0.0.unitypackage
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.
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,6
Na janela Hierarquia, selecione MRTK XR Rig>Camera Offset.
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.
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.
No painel Hierarquia, expanda o objeto ButtonParent e selecione o primeiro objeto filho, StartAzureSession.
No painel Inspetor, navegue até o componente Botão pressionável. Tem um evento On Clicked ().
Na Hierarquia, selecione o objeto ParentAnchor e arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().
Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>StartAzureSession (). Esta função será executada quando o evento for acionado.
No painel Hierarquia na lista filho ButtonParent, selecione StopAzureSession
No painel Inspetor, navegue até o componente Botão pressionável.
Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().
Selecione a lista suspensa Sem Função e, em seguida, selecione AnchorModuleScript>StopAzureSession ().
No painel Hierarquia na lista filho ButtonParent, selecione CreateAzureAnchor.
No painel Inspetor, navegue até o componente Botão pressionável.
Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().
Selecione a lista suspensa Sem função e selecione AnchorModuleScript>CreateAzureAnchor.
Selecione o objeto ParentAnchor novamente, arraste-o para o Inspetor e solte-o no parâmetro de AnchorModuleScript.CreateAzureAnchor.
No painel Hierarquia na lista filho ButtonParent, selecione RemoveLocalAnchor.
No painel Inspetor, navegue até o componente Botão pressionável.
Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().
Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>RemoveLocalAnchor.
Selecione o objeto ParentAnchor novamente, arraste-o para o Inspetor e solte-o no parâmetro AnchorModuleScript.RemoveLocalAnchor.
No painel Hierarquia na lista filho ButtonParent, selecione FindAzureAnchor.
No painel Inspetor, navegue até o componente Botão pressionável.
Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().
Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>FindAzureAnchor.
No painel Hierarquia na lista filho ButtonParent, selecione DeleteAzureAnchor.
No painel Inspetor, navegue até o componente Botão pressionável.
Na Hierarquia, selecione o objeto ParentAnchor, arraste-o para o Inspetor e solte-o no campo Nenhum (Objeto) do evento On Clicked().
Selecione a lista suspensa Sem função e, em seguida, selecione AnchorModuleScript>DeleteAzureAnchor.
Conectar a cena ao recurso do Azure
No painel Hierarquia, selecione o objeto ParentAnchor.
No painel Inspetor, localize o componente Spatial Anchor Manager (Script).
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.
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:
- Mova o cubo para um local diferente.
- Inicie uma sessão do Azure.
- Crie uma âncora do Azure no local do cubo.
- Pare a sessão do Azure.
- Remova a âncora local para permitir que o usuário mova o cubo.
- Mova o cubo para outro lugar.
- Inicie uma sessão do Azure.
- Encontre a âncora do Azure para posicionar o cubo no local a partir da etapa 3.
- Exclua a âncora do Azure.
- 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.