Guia de início rápido: criar um aplicativo HoloLens com o Azure Object Anchors, no Unity com MRTK

Neste início rápido, você criará um aplicativo Unity HoloLens que usa as Âncoras de Objeto do Azure. O Azure Object Anchors é um serviço de nuvem gerenciado que converte ativos 3D em modelos de IA que permitem experiências de realidade mista com reconhecimento de objeto para o HoloLens. Quando terminar, você terá um aplicativo HoloLens construído com Unity que pode detetar objetos no mundo físico.

Saberá como:

  • Prepare as configurações de compilação do Unity.
  • Exporte o projeto HoloLens Visual Studio.
  • Implante o aplicativo e execute-o em um dispositivo HoloLens 2.

Pré-requisitos

Para concluir este início rápido, certifique-se de que tem:

  • Um objeto físico em seu ambiente e seu modelo 3D (CAD ou digitalizado).
  • Uma máquina Windows com o seguinte instalado:
  • Um dispositivo HoloLens 2 que está atualizado e tem o modo de desenvolvedor ativado.
    • Para atualizar para a versão mais recente no HoloLens, abra o aplicativo Configurações , vá para Atualizar & Segurança e selecione Verificar se há atualizações.

Criar uma conta Object Anchors

Primeiro, você precisa criar uma conta com o serviço Object Anchors.

  1. Vá para o portal do Azure e selecione Criar um recurso.

    Create a new resource

  2. Procure o recurso Âncoras de objeto.

    Procure por "Âncoras de objeto".

    Select the Object Anchors Resource

    No recurso Âncoras de objeto nos resultados da pesquisa, selecione Criar -> Âncoras de objeto.

    Create an Object Anchors Resource

  3. Na caixa de diálogo Conta de âncoras de objeto:

    • Insira um nome de recurso exclusivo.
    • Selecione a assinatura à qual deseja anexar o recurso.
    • Crie ou use um grupo de recursos existente.
    • Selecione a região na qual você deseja que seu recurso exista.

    Enter Object Anchors resource account details

    Selecione Criar para começar a criar o recurso.

  4. Depois de criar o recurso, selecione Aceder ao recurso.

    Go to resource

  5. Na página de visão geral:

    Tome nota do Domínio da Conta. Precisará dele mais tarde.

    Copy the account domain for your Object Anchors resource

    Anote o ID da conta. Precisará dele mais tarde.

    Copy the account ID for your Object Anchors resource

    Vá para a página Chaves de Acesso e tome nota da chave primária. Precisará dele mais tarde.

    Copy the account key for your Object Anchors resource

Configurar o seu dispositivo

Para implementar aplicações no HoloLens, terá de emparelhar o HoloLens com o computador.

  1. No HoloLens, navegue até Configurações - Atualização & Segurança ->> Para desenvolvedores.
  2. Clique em Emparelhar e deixe a tela aberta até inserir o PIN no Visual Studio durante sua primeira implantação.

Carregue o seu modelo

Antes de executar o aplicativo, você precisará disponibilizar seus modelos para o aplicativo. Se você ainda não tiver um modelo de Âncoras de Objeto, siga as instruções em Criar um modelo para criar um. Então, volte aqui.

Com o HoloLens ligado e conectado ao dispositivo de desenvolvimento (PC), siga estas etapas para carregar um modelo para a pasta Objetos 3D no HoloLens:

  1. Selecione e copie os modelos com os quais deseja trabalhar pressionando a tecla Ctrl e C juntos (Ctrl + C).

  2. Pressione a tecla do logotipo do Windows e E juntos (Win + E) para iniciar o Explorador de Arquivos. Você deve ver seu HoloLens listado com outras unidades e pastas no painel esquerdo.

    file explorer

  3. Toque no link HoloLens para mostrar o armazenamento no dispositivo HoloLens no painel direito.

    open HoloLens internal storage

  4. No Explorador de Ficheiros, aceda a Objetos 3D de Armazenamento > Interno. Agora, você pode colar seus modelos na pasta Objetos 3D pressionando a tecla Ctrl e V juntos (Ctrl + V).

    paste models in 3D Objects folder

Abrir o projeto de exemplo

Clone o repositório de amostras executando os seguintes comandos:

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

A próxima etapa é baixar o pacote Azure Object Anchors para Unity.

Localize o pacote Azure Object Anchors para Unity (com.microsoft.azure.object-anchors.runtime) aqui. Selecione a versão desejada e baixe o pacote usando o botão Download .

Em Unity, abra o quickstarts/apps/unity/mrtk projeto.

Siga as instruções aqui para importar o pacote Azure Object Anchors que você baixou para o projeto Unity usando o Gerenciador de Pacotes Unity.

Configurar as informações da conta

A próxima etapa é configurar o aplicativo para usar as informações da sua conta. Você anotou os valores de Chave de Conta, ID da Conta e Domínio da Conta, na seção "Criar uma conta de âncoras de objeto".

No painel Projeto, vá para Assets\AzureObjectAnchors.SDK\Resources.

Selecione ObjectAnchorsConfig. No painel Inspetor, insira o como o valor para Object Anchors Account Key, o como o valor para Object Anchors Account ID e o como o Account KeyAccount DomainAccount ID valor para Object Anchors Account Domain.

Compilar e executar a aplicação

Construir a cena de amostra

No Unity Editor, navegue até Assets/MixedReality.AzureObjectAnchors/Scenes, abra AOASampleScene e adicione-o à lista de compilação de cena.

Quando uma caixa de diálogo "Importador TMP" solicitar que você importe recursos do TextMesh Pro, selecione "Importar TMP Essentials" para fazer isso. Import TextMesh Pro resources

Selecione Arquivo -> Configurações de construção. Selecione Plataforma Universal do Windows e, em seguida, selecione Mudar de Plataforma. Se o Unity Editor disser que você precisa baixar alguns componentes primeiro, baixe-os e instale-os. Siga a captura de tela abaixo para definir as configurações de compilação. Certifique-se de que apenaso AOASampleScene tenha uma marca de seleção ao lado: todas as outras cenas não devem ser incluídas.

build settings

Selecione Construir e selecione uma pasta de saída. Agora você pode gerar um projeto VS na pasta de saída.

Criar e implementar a aplicação

Abra o .sln arquivo gerado pelo Unity. Altere a configuração de compilação para o seguinte.

build configuration

Em seguida, você precisará configurar o endereço IP da Máquina Remota para implantar e depurar o aplicativo.

Clique com o botão direito do mouse no projeto App e selecione Propriedades. Na página de propriedades, selecione Propriedades de configuração -> Depuração. Altere o valor Nome da máquina para o endereço IP do dispositivo HoloLens e clique em Aplicar.

remote debug

Feche a página de propriedades. Clique em Máquina remota. O aplicativo deve começar a criar e implantar em seu dispositivo remoto. Certifique-se de que o dispositivo está ativo.

Após a tela inicial do Unity, você verá uma caixa delimitadora branca. Você pode usar a mão para mover, dimensionar ou girar a caixa delimitadora. Coloque a caixa para cobrir o objeto que você deseja detetar.

Abra o menu de mão e selecione Bloquear área de pesquisa para impedir mais movimento da caixa delimitadora. Selecione Iniciar pesquisa para iniciar a deteção de objetos. Quando o objeto for detetado, uma malha será renderizada no objeto. Os detalhes de uma instância detetada serão exibidos na tela, como carimbo de data/hora atualizado e taxa de cobertura de superfície. Selecione Parar pesquisa para interromper o rastreamento e todas as instâncias detetadas serão removidas.

Os menus da aplicação

Você também pode fazer outras ações usando o menu de mão.

Menu primário
  • Start Search / Stop Search – Inicia ou para o processo de deteção de objetos.

  • Alternar mapeamento espacial – Mostrar/ocultar renderização de mapeamento espacial. Esta opção pode ser usada para depurar se a verificação está concluída ou não.

  • Configurações do rastreador – Alterna a ativação do menu de configurações do rastreador.

  • Configurações da área de pesquisa – Alterna a ativação do menu de configurações da área de pesquisa.

  • Iniciar rastreamento – Capture dados de diagnóstico e salve-os no dispositivo. Veja mais detalhes na seção Debug Detection Issues e Capture Diagnostics.

  • Upload Tracing – Carregue dados de diagnóstico para o serviço Object Anchors.

    Unity primary hand menu

Menu de configurações do Tracker
  • Alta precisão – Um recurso experimental usado para obter uma pose mais precisa. Ativar essa opção exigirá mais recursos do sistema durante a deteção de objetos. A malha de objetos será renderizada em rosa quando estiver nesse modo. Selecione este botão novamente para voltar ao modo de rastreamento normal.

  • Alinhamento vertical relaxado – Quando ativado, permite que um objeto seja detetado em um ângulo não vertical. Útil para detetar objetos em rampas.

  • Permitir alteração de escala – Permite que o rastreador altere o tamanho do objeto detetado com base em informações ambientais.

  • Controle deslizante de taxa de cobertura – Ajusta a proporção de pontos de superfície que devem corresponder para que o rastreador detete um objeto. Valores mais baixos permitem que o rastreador detete melhor objetos que são desafiadores para os sensores HoloLens detetarem, como objetos escuros ou objetos altamente reflexivos. Valores mais elevados reduzirão a frequência de falsas deteções.

    Unity tracker hand menu

Menu de configurações da área de pesquisa
  • Área de pesquisa de bloqueio – Caixa delimitadora de área de bloqueio para evitar movimentos acidentais pelas mãos.

  • Área de pesquisa de ajuste automático – Permite que a área de pesquisa se reposicione durante a deteção de objetos.

  • Malha de Ciclo – Percorre a visualização das malhas carregadas dentro da área de pesquisa. Essa opção pode ajudar os usuários a alinhar a caixa de pesquisa para objetos difíceis de detetar.

    Unity search area hand menu

Resolução de Problemas

Sugestões

Se o objeto não estiver sendo detetado, você pode tentar as seguintes etapas:

  1. Verifique se você está usando o modelo correto para seu objeto.
  2. Visualize a área de pesquisa e verifique se ela cobre o objeto de destino.
  3. Tente reduzir o MinSurfaceCoverage.
  4. No Windows Device Portal, clique em Modos de Exibição -> Modos de Exibição 3D e verifique se a verificação foi concluída.

Próximos passos

FAQ