Exercício – Serviços de Nuvem do Azure para HoloLens 2

Concluído

Ao cada capítulo, você adicionará novos serviços da Nuvem do Azure para expandir os recursos do aplicativo e a experiência do usuário, aprendendo ao mesmo tempo os conceitos básicos de cada serviço da Nuvem do Azure.

Observação

Esta série de módulos se concentrará no HoloLens 2, mas devido à natureza multiplataforma do Unity, a maior parte dessas lições também se aplicará a aplicativos da área de trabalho e dispositivos móveis.

Metas do aplicativo

Nesta série de módulos, você criará um aplicativo do HoloLens 2 que pode detectar objetos de imagens e localizar as respectivas localizações espaciais. Vamos nos referir a esses objetos como Objetos Rastreados.

O usuário pode criar um Objeto Rastreado para associar um conjunto de imagens por meio da Pesquisa Visual Computacional, de um local espacial ou de ambos. Todos os dados devem ser persistidos na nuvem.

Recursos

  • Gerenciamento básico de dados e imagens
  • Treinamento e detecção de imagem
  • Armazenamento de um local espacial e diretrizes para ele

Serviços de nuvem do Azure

Você usará os seguintes serviços de Nuvem do Azure para implementar os recursos acima:

Armazenamento do Azure

Você usará o Armazenamento do Microsoft Azure para persistir os dados. O Armazenamento do Azure permite armazenar dados em uma tabela e carregar binários grandes, como imagens.

Visão Personalizada do Azure

Com o Visão Personalizada de IA do Azure (parte dos serviços de IA do Azure), você pode associar um conjunto de imagens a Objetos Rastreados, treinar um modelo de machine learning no conjunto que você criou e detectar os Objetos Rastreados.

Âncoras Espaciais do Azure

Para armazenar a localização de um Objeto Rastreado e fornecer instruções guiadas para encontrá-lo, você usará as Âncoras Espaciais do Azure.

Criar e preparar o projeto do Unity

Nesta seção, você vai criar um projeto do Unity e vai prepará-lo para o desenvolvimento do MRTK.

Primeiro, siga as etapas do roteiro de aprendizagem do HoloLens 2, exceto as instruções para Criar seu aplicativo no dispositivo, que incluem as seguintes etapas:

  1. Criar o projeto do Unity e dar a ele um nome adequado, por exemplo, Tutoriais da Nuvem do Azure
  2. Como alternar a plataforma de build
  3. Como importar os Recursos Essenciais do TextMeshPro
  4. Como importar o Kit de Ferramentas de Realidade Misturada
  5. Como configurar o projeto do Unity
  6. Criar e configurar a cena e dar um nome adequado à cena, por exemplo, AzureCloudServices

Importar os ativos do tutorial

  1. Adicione o AzurespatialAnchors SDK ao seu projeto. Para adicionar o pacote, siga este tutorial.

  2. Baixe e importe os seguintes pacotes personalizados do Unity na ordem em que estão listados:

    Depois de importar os ativos do tutorial, a janela do sua Projeto deverá ser semelhante a esta:

    Screenshot of Unity Hierarchy, Scene, and Project windows after importing the tutorial assets.

Preparar a cena

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

  1. Na janela Projeto, navegue até a pasta Ativos>MRTK.Tutorials.AzureCloudServices>Pré-fabricados>Gerenciador. Pressionando o botão CTRL, selecione SceneController, RootMenu e DataManager para selecionar as três predefinições:

    Screenshot of Unity with SceneController, RootMenu, and DataManager prefabs selected.

    O SceneController (prefab) contém dois scripts: SceneController (script) e UnityDispatcher (script) . O componente de script SceneController contém várias funções de experiência do usuário e facilita a funcionalidade de captura de foto, enquanto o UnityDispatcher é uma classe auxiliar para permitir a execução de ações no thread principal do Unity.

    RootMenu (predefinição) é a interface do usuário principal predefinida que mantém todas as janelas da interface do usuário conectadas entre si por meio de vários componentes de script pequeno e controla o fluxo geral da experiência do usuário do aplicativo.

    DataManager (predefinição) é responsável por conversar com o armazenamento do Azure e será explicado mais detalhadamente no próximo tutorial.

  2. Agora, com os três pré-fabricados ainda selecionados, arraste-os para a janela Hierarquia para adicioná-los à cena:

    Screenshot of Unity with newly added SceneController, RootMenu and DataManager prefabs still selected.

  3. Para se concentrar nos objetos na cena, clique duas vezes no objeto RootMenu e reduza o zoom novamente. Com o objeto RootMenu ainda selecionado, altere os valores no componente Transformar dele para os seguintes:

    Posição: X = 0.0, Y = 1.6, Z = 0.6

    Screenshot of Unity with RootMenu object selected.

    Dica

    Se achar que os ícones grandes da cena causam distração (por exemplo, os ícones 'T' grandes emoldurados), você pode ocultá-los alternando os Gizmos para a posição desligado.

Configurando a cena

Nesta seção, você conectará o SceneManager, o DataManagere o RootMenu juntos para ter uma cena de trabalho para o próximo tutorial de integração do armazenamento do Azure.

Conectar os objetos

  1. Na janela Hierarquia, selecione o objeto DataManager:

    Screenshot of Unity with DataManager object selected.

  2. Na janela Inspetor, localize o componente DataManager (Script). Você verá um slot vazio no evento On Data Manager Ready (). Arraste o objeto SceneController da janela Hierarquia para o evento Pronto no Gerenciador de Dados () .

    Screenshot of Unity with DataManager event listener added.

  3. O menu suspenso do evento agora está ativo. Selecione o menu suspenso, navegue até SceneController e selecione a opção Init () no submenu.

    Screenshot of Unity with DataManager event action added.

  4. Na janela Hierarquia, selecione o objeto SceneController. Você encontrará o componente SceneController (script) no Inspetor.

    Screenshot of Unity with SceneController selected.

  5. Agora há vários campos não preenchidos; vamos mudar isso. Mova o objeto DataManager da Hierarquia para o campo do Gerenciador de Dados e mova o GameObject RootMenu>MainMenu da Hierarquia para o campo Menu Principal.

    Screenshot of Unity with SceneController configured.

  6. Na janela Hierarquia, selecione o objeto MRTK XR Rig. Verifique se o objeto filho de Fala do MRTK está habilitado. Isso permite que você abra o menu dizendo "Abrir menu".

  7. Agora, sua cena está pronta para os próximos tutoriais. Lembre-se de salvá-lo em seu projeto.

Preparar pipeline de Build do projeto

Observação

A criação e o teste no HoloLens 2 não são obrigatórios. Você pode testar no Emulador do HoloLens 2 se não tiver um dispositivo HoloLens. Você pode comprar dispositivos em HoloLens.com.

Antes de concluirmos a cena, vamos preparar o projeto para a compilação no HoloLens 2.

1. Adicionar outros recursos necessários

  1. No menu Unity, selecione Editar>Configurações do Projeto... para abrir a janela Configurações do Projeto.

    Screenshot of Unity open Project Settings.

  2. Na janela Configurações do Projeto, selecione Player e, em seguida, Configurações de Publicação:

    Screenshot of Unity Publishing Settings.

  3. Nas Configurações de Publicação, role a tela até a seção Recursos e verifique se InternetClient, Microphone e SpatialPerception (que você habilitou ao criar o projeto no início do tutorial) estão habilitados. Em seguida, habilite as funcionalidades InternetClientServer, PrivateNetworkClientServer e Webcam:

    Screenshot of Unity Capabilities

2. Implantar o aplicativo em seu HoloLens 2

Você não poderá executar todos os recursos que serão usados nessa série de tutoriais dentro do editor do Unity. Portanto, você precisa estar familiarizado com a implantação do aplicativo no emulador ou dispositivo HoloLens 2.

Dica

Para obter um lembrete sobre como criar e implantar seu projeto Unity no HoloLens 2, confira as instruções Tutoriais de introdução - Criar e implantar seu aplicativo.

3. Execute o aplicativo no seu HoloLens 2 e siga as instruções no aplicativo

Cuidado

Todos os Serviços do Azure usam a Internet, portanto, verifique se o dispositivo está conectado à Internet.

Quando o aplicativo estiver em execução no seu dispositivo, conceda acesso aos seguintes recursos solicitados:

  • Microfone
  • Câmera

Esses recursos são necessários para que serviços como a Visão Personalizada funcionem corretamente.