Compartilhar via


Início rápido: criar um aplicativo do HoloLens com as Âncoras de Objeto do Azure no C++/WinRT e no DirectX

Este início rápido aborda como criar um aplicativo do HoloLens usando as Âncoras de Objeto do Azure no C++/WinRT e no DirectX. As Âncoras de Objeto são um serviço de nuvem gerenciado que converte ativos 3D em modelos de IA que habilitam experiências de realidade misturada com reconhecimento de objeto para o HoloLens. Quando tiver terminado, você terá um aplicativo do HoloLens que pode detectar um objeto e sua pose em um aplicativo Holographic DirectX 11 (Universal do Windows).

Você aprenderá a:

  • Criar e carregar paralelamente um aplicativo do HoloLens
  • Detectar um objeto e visualizar o respectivo modelo

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

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

  • Um objeto físico no ambiente e o respectivo modelo 3D, do CAD ou digitalizado.
  • Um computador Windows com os seguintes itens instalados:
    • Git para Windows
    • Visual Studio 2019 com a carga de trabalho de desenvolvimento da Plataforma Universal do Windows e o componente SDK do Windows 10 (10.0.18362.0 ou mais recente)
  • Um dispositivo do HoloLens 2 que está atualizado e tem o modo de desenvolvedor habilitado.
    • Para atualizar para a versão mais recente do HoloLens, abra o aplicativo de Configurações, acesse Atualização e Segurança e, em seguida, selecione Verificar atualizações.

Criar uma conta das Âncoras de Objeto

Primeiro, você precisa criar uma conta com o serviço Âncoras de Objeto.

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

    Create a new resource

  2. Pesquise o recurso Âncoras de Objeto.

    Pesquise “Â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 das Âncoras de Objeto:

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

    Enter Object Anchors resource account details

    Selecione Criar para começar a criar o recurso.

  4. Depois de criar o recurso, selecione Ir para o recurso.

    Go to resource

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

    Anote o Domínio da conta. Você precisará dela mais tarde.

    Copy the account domain for your Object Anchors resource

    Anote a ID da conta. Você precisará dela mais tarde.

    Copy the account ID for your Object Anchors resource

    Vá para a página Chaves de Acesso e anote a Chave primária. Você precisará dela mais tarde.

    Copy the account key for your Object Anchors resource

Carregar seu modelo

Antes de executar o aplicativo, você precisará disponibilizar seus modelos para ele. Caso ainda não tenha um modelo de Âncoras de Objeto, siga as instruções em Criar um modelo para criar um. Depois, retorne aqui.

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

  1. Selecione e copie os modelos com os quais você deseja trabalhar pressionando a tecla CTRL e a tecla C juntas (Ctrl + C).

  2. Pressione a tecla do logotipo do Windows e a tecla E juntas (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 do HoloLens para mostrar o armazenamento no dispositivo HoloLens no painel direito.

    open HoloLens internal storage

  4. No Explorador de Arquivos, vá para Armazenamento interno > Objetos 3D. Agora, você pode colar seus modelos na pasta Objetos 3D pressionando as teclas Ctrl e V juntas (Ctrl + V).

    paste models in 3D Objects folder

Abrir o projeto de exemplo

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

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

cd ./azure-object-anchors

Abra quickstarts/apps/directx/DirectXAoaSampleApp.sln no Visual Studio.

Altere a Configuração da Solução para Versão, altere Plataforma da Solução para ARM64 e selecione Dispositivo nas opções de destino da implantação.

Configurar as informações da conta

A próxima etapa será configurar o aplicativo para usar as informações da 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".

Abra Assets\ObjectAnchorsConfig.json.

Localize o campo AccountId e substitua Set me pela ID da Conta.

Localize o campo AccountKey e substitua Set me pela Chave de Conta.

Localize o campo AccountDomain e substitua Set me pelo Domínio da Conta.

Agora, compile o projeto AoaSampleApp clicando com o botão direito do mouse sobre o projeto e selecionando Compilar.

Screenshot shows configuring Visual Studio project to deploy.

Implantar o aplicativo no HoloLens

Depois de compilar o projeto de exemplo com sucesso, você poderá implantar o aplicativo no HoloLens.

Verifique se o dispositivo HoloLens está ligado e conectado ao PC por meio de um cabo USB. Verifique se o destino de implantação escolhido é Dispositivo, como indicado acima.

Clique com o botão direito do mouse no projeto AoaSampleApp e selecione Implantar no menu de contexto para instalar o aplicativo. Se nenhum erro for exibido na Janela de Saída do Visual Studio, o aplicativo será instalado no HoloLens.

Screenshot shows the context menu for the project with Deploy selected.

Antes de iniciar o aplicativo, você deve ter carregado um modelo de objeto, chair.ou, por exemplo, para a pasta Objetos 3D no seu HoloLens. Se ainda não fez isso, siga as instruções na seção Carregar seu modelo.

Para inicializar e depurar o aplicativo, selecione Depurar>Iniciar depuração.

Ingerir o modelo de objeto e detectar a respectiva instância

O aplicativo AoaSampleApp está em execução no seu dispositivo HoloLens. Fique a uma distância de dois metros do objeto de destino (cadeira) e examine-o olhando para ele de várias perspectivas. Você deverá ver uma caixa delimitadora rosa em volta do objeto com alguns pontos amarelos renderizados próximos à superfície dele, o que indica que ele foi detectado. Você também deve ver uma caixa amarela que indica a área de pesquisa.

Photograph shows a chair with the bounding box, point cloud, and search area.

Você pode definir o espaço de pesquisa do objeto no aplicativo clicando com os dedos no ar com a mão direita ou esquerda. O espaço de pesquisa será definido por meio de uma esfera com raio de dois metros, uma caixa delimitadora com 4 m³ e um tronco de exibição. Para objetos maiores, como carros, a melhor opção normalmente é usar a seleção da exibição de tronco enquanto está voltado para um canto do objeto, a uma distância de cerca de dois metros. Cada vez que a área de pesquisa muda, o aplicativo remove instâncias que estão sendo acompanhadas. Em seguida, ele tenta encontrá-los novamente na nova área de pesquisa.

Esse aplicativo pode rastrear vários objetos ao mesmo tempo. Para fazer isso, carregue vários modelos na pasta Objetos 3D do seu dispositivo e defina uma área de pesquisa que abranja todos os objetos de destino. Pode levar mais tempo para detectar e rastrear vários objetos.

O aplicativo alinha um modelo 3D à sua contraparte física com proximidade. O usuário pode tocar no ar usando a mão esquerda para ativar o modo de rastreamento de alta precisão, que computa poses mais precisas. Esse recurso ainda é experimental. Ele consome mais recursos do sistema e pode resultar em maior tremulação na pose estimada. Toque de ar novamente com a mão esquerda para voltar ao modo de rastreamento normal.

Próximas etapas