Tutorial: Compartilhar âncoras espaciais entre sessões e dispositivos
O Azure Spatial Anchors é um serviço de desenvolvedor multiplataforma com o qual você pode criar experiências de realidade mista usando objetos que persistem sua localização entre dispositivos ao longo do tempo.
Neste tutorial, você usa as Âncoras Espaciais do Azure para criar âncoras durante uma sessão e, em seguida, localizá-las no mesmo dispositivo ou em um dispositivo diferente. As mesmas âncoras também podem ser localizadas por vários dispositivos no mesmo lugar e ao mesmo tempo.
Neste tutorial, irá aprender a:
- Implante um aplicativo Web ASP.NET Core no Azure que você pode usar para compartilhar âncoras e armazenar as âncoras na memória por um período de tempo especificado.
- Configure a cena AzureSpatialAnchorsLocalSharedDemo dentro do exemplo Unity em nossos inícios rápidos para aproveitar o aplicativo Web Sharing Anchors.
- Implante e execute as âncoras em um ou mais dispositivos.
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Antes de começar este tutorial, certifique-se de que cumpriu os seguintes pré-requisitos:
- Leia a visão geral das Âncoras Espaciais do Azure.
- Conclua um dos inícios rápidos de 5 minutos.
Nota
Os inícios rápidos Android/NDK e iOS/Swift atualmente não mostram os recursos explicados neste tutorial.
- Conhecimento básico de:
- Um computador Windows com Visual Studio 2019 ou posterior e a carga de trabalho de desenvolvimento ASP.NET e Web.
- O SDK do .NET Core 3.1.
- Um ou mais dos seguintes dispositivos nos quais implantar e executar um aplicativo: HoloLens, HoloLens 2, iOS ou Android.
Nota
Você usará o Unity e um aplicativo Web ASP.NET Core neste tutorial, mas a abordagem aqui é apenas para fornecer um exemplo de como compartilhar identificadores do Azure Spatial Anchors em outros dispositivos. Você pode usar outras linguagens e tecnologias de back-end para atingir o mesmo objetivo.
Criar um recurso de Âncoras Espaciais
Aceda ao portal do Azure.
No painel esquerdo, selecione Criar um recurso.
Use a caixa de pesquisa para procurar Âncoras Espaciais.
Selecione Âncoras espaciais e, em seguida, selecione Criar.
No painel Conta de Âncoras Espaciais, faça o seguinte:
Insira um nome de recurso exclusivo usando caracteres alfanuméricos regulares.
Selecione a subscrição à qual pretende anexar o recurso.
Crie um grupo de recursos selecionando Criar novo. Nomeie-o myResourceGroup e selecione OK.
Um grupo de recursos é um contêiner lógico no qual os recursos do Azure, como aplicativos Web, bancos de dados e contas de armazenamento, são implantados e gerenciados. Por exemplo, pode optar por eliminar todo o grupo de recursos num único passo simples mais tarde.
Selecione um local (região) no qual colocar o recurso.
Selecione Criar para começar a criar o recurso.
Depois que o recurso é criado, o portal do Azure mostra que sua implantação foi concluída.
Selecione Ir para recurso. Agora você pode exibir as propriedades do recurso.
Copie o valor de ID de conta do recurso em um editor de texto para uso posterior.
Copie também o valor Domínio da Conta do recurso em um editor de texto para uso posterior.
Em Configurações, selecione Chave de acesso. Copie o valor da chave primária, Chave de conta, em um editor de texto para uso posterior.
Baixe o projeto de exemplo + SDK de importação
Clone Samples Repo
Clone o repositório de amostras executando os seguintes comandos:
git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples
Importar ASA SDK
Siga as instruções aqui para baixar e importar os pacotes ASA SDK necessários para a plataforma HoloLens.
Implantar o serviço Âncoras de Compartilhamento
Nota
Neste tutorial, usaremos a camada gratuita do Serviço de Aplicativo do Azure. A camada livre expirará após 20 minutos de inatividade e redefinirá o cache de memória.
Abra o Visual Studio e, em seguida, abra o projeto na pasta Sharing\SharingServiceSample .
Abra o assistente de publicação
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto SharingService e selecione Publicar....
O Assistente de Publicação é iniciado.
- Selecione Target Azure>Next.
- Selecione Serviço de Aplicativo do Azure de Destino Específico (Windows)>Avançar
- Inicie sessão no portal do Azure.
- Selecione o "+" verde para Criar um Serviço de Aplicativo do Azure
Definições do Serviço de Aplicações
Definição | Valor sugerido | Description |
---|---|---|
Name | myASASharingService | Dê ao seu serviço um nome exclusivo |
Nome da Subscrição | Selecione sua assinatura preferida do Azure | |
Grupo de Recursos | myResourceGroup ou selecione um existente | Um grupo de recursos é um contêiner lógico no qual os recursos do Azure, como aplicativos Web, bancos de dados e contas de armazenamento, são implantados e gerenciados. Por exemplo, pode optar por eliminar todo o grupo de recursos num único passo simples mais tarde. |
Plano de Alojamento | Selecione Novo... e veja a tabela abaixo | Um plano do serviço de aplicações especifica o local, tamanho e funcionalidades da farm de servidores Web que aloja a aplicação. Você pode economizar dinheiro ao hospedar vários aplicativos configurando os aplicativos Web para compartilhar um único plano do Serviço de Aplicativo. Os planos do Serviço de Aplicativo definem:
|
Configurações do Plano de Hospedagem
Definição | Valor sugerido | Description |
---|---|---|
Plano de Alojamento | MySharingServicePlan | Dê ao seu plano de hospedagem um nome exclusivo |
Location | E.U.A. Oeste | O centro de dados onde o a aplicação Web está alojada. Escolha um local mais próximo do local físico que seu aplicativo será usado |
Tamanho | Gratuito | A camada de preço que determina os recursos de hospedagem |
- Selecione Criar para criar o Serviço de Aplicativo
- Depois que o serviço de aplicativo for criado, selecione-o na lista "Instâncias do serviço de aplicativo" e selecione Concluir
- Na guia SharingService: Publicar, selecione Publicar
Depois que o aplicativo Web ASP.NET Core tiver sido publicado no Azure, você poderá acessar https://<your_app_name>.azurewebsites.net
ou clicar no link ao lado de Site: na guia SharingService: Publicar. Copie este URL para um editor de texto para uso posterior.
Configurar + implantar o aplicativo de exemplo
Abrir Projeto
Em Unity, abra o projeto na pasta Unity . Unity pode perguntar sobre uma diferença entre a versão no projeto e a versão instalada em sua máquina. Este aviso é aceitável, desde que sua versão do Unity Editor seja mais recente do que aquela com a qual o projeto foi criado. Se a sua versão for mais recente, selecione Continuar. Se sua versão for mais antiga do que a que o projeto precisa, selecione Sair e atualize seu Editor Unity.
Configurar configurações de compilação
Abra Configurações de compilação selecionando Configurações de compilação de arquivo>.
Na seção Plataforma, selecione Plataforma Universal do Windows. Altere o dispositivo alvo para HoloLens.
Selecione Mudar de plataforma para alterar a plataforma para a Plataforma Universal do Windows. O Unity pode solicitar que você instale componentes de suporte UWP se eles estiverem faltando.
Feche a janela Configurações de compilação.
Configurar as informações da conta
A próxima etapa é configurar o aplicativo para usar as informações da sua conta. Você copiou os valores de Chave de Conta, ID de Conta e Domínio de Conta para um editor de texto anteriormente, na seção "Criar um recurso de Âncoras Espaciais".
No painel Projeto, vá para Assets\AzureSpatialAnchors.SDK\Resources
.
Selecione SpatialAnchorConfig. No painel Inspetor, insira o Account Key
como o valor para Chave de Conta de Âncoras Espaciais, como Account ID
o valor para ID de Conta de Âncoras Espaciais e como Account Domain
o valor para Domínio de Conta de Âncoras Espaciais.
Abra a cena chamada AzureSpatialAnchorsLocalSharedDemo encontrada nela clicando duas Assets/AzureSpatialAnchors.Examples/Scenes/AzureSpatialAnchorsLocalSharedDemo
vezes nela no painel do projeto
No painel Projeto, vá para Assets\AzureSpatialAnchors.Examples\Resources
.
Selecione SpatialAnchorSamplesConfig. Em seguida, no painel Inspetor , insira a Sharing Anchors Service
URL (da implantação do Azure do aplicativo Web ASP.NET) como o valor para Base Sharing Url
. Anexe o URL com /swagger/api/anchors
. Deve ter a seguinte aparência: https://<your_app_name>.azurewebsites.net/swagger/api/anchors
.
Salve a cena selecionando Salvar arquivo>.
Exportar + implantar o aplicativo HoloLens
Abra Configurações de compilação selecionando Configurações de compilação de arquivo>.
Em Cenas na compilação, verifique se todas as cenas têm uma marca de seleção ao lado delas.
Selecione Construir. Na caixa de diálogo, selecione uma pasta na qual exportar o projeto HoloLens Visual Studio.
Quando a exportação estiver concluída, uma pasta contendo o projeto HoloLens exportado aparecerá.
Na pasta, clique duas vezes em HelloAR U3D.sln para abrir o projeto no Visual Studio.
Altere a Configuração da Solução para Release, altere a Solution Platform para x86 e selecione Device nas opções de destino de implantação.
Se estiver usando o HoloLens 2, use ARM64 como a plataforma de solução, em vez de x86.
Ligue o dispositivo HoloLens, inicie sessão e ligue o dispositivo ao PC utilizando um cabo USB.
Selecione Depurar>Iniciar depuração para implantar seu aplicativo e iniciar a depuração.
Executar a aplicação
No aplicativo, selecione LocalSharedDemo usando as setas e pressione o botão Ir! para executar a demonstração. Siga as instruções para colocar e recolher uma âncora.
Com Create & Share Anchor, você pode criar uma âncora e salvá-la em seu serviço de compartilhamento. Em troca, você receberá de volta um identificador para ele que você pode usar para recuperá-lo do serviço de compartilhamento. Em seguida, você pode executar o segundo cenário, Localizar âncora compartilhada, a partir do seu dispositivo ou de um diferente.
Com Localizar âncora compartilhada, você pode localizar âncoras compartilhadas anteriormente inserindo o identificador mencionado anteriormente. Depois de escolher o seu cenário, a aplicação irá guiá-lo com mais instruções. Por exemplo, ser-lhe-á pedido para mover o dispositivo para recolher informações do ambiente. Mais tarde, você colocará uma âncora no mundo, esperará que ela salve, iniciará uma nova sessão e a localizará.
Clean up resources (Limpar recursos)
Nos passos anteriores, criou os recursos do Azure num grupo de recursos. Se provavelmente não necessitar desses recursos no futuro, pode eliminá-los ao eliminar o grupo de recursos.
No menu do portal do Azure ou na página inicial , selecione Grupos de recursos. Em seguida, na página Grupos de recursos, selecione myResourceGroup.
Na página myResourceGroup, certifique-se de que os recursos listados são aqueles que você deseja excluir.
Selecione Excluir grupo de recursos, digite myResourceGroup na caixa de texto para confirmar e selecione Excluir.
Próximos passos
Neste tutorial, você implantou um aplicativo Web ASP.NET Core no Azure e configurou e implantou um aplicativo Unity. Você criou âncoras espaciais com o aplicativo e as compartilhou com outros dispositivos usando seu aplicativo Web ASP.NET Core.
Você pode melhorar seu aplicativo Web ASP.NET Core para que ele use o Azure Cosmos DB para manter o armazenamento de seus identificadores de âncoras espaciais compartilhadas. Ao adicionar suporte ao Azure Cosmos DB, você pode fazer com que seu aplicativo Web ASP.NET Core crie uma âncora hoje. Em seguida, usando o identificador de âncora armazenado em seu aplicativo Web, você pode fazer com que o aplicativo retorne dias depois para localizar a âncora novamente.