Exercício - Azure Serviços Cloud para HoloLens 2

Concluído

A cada capítulo consecutivo, irá adicionar novos serviços Azure Cloud para expandir as funcionalidades de aplicação e experiência do utilizador, enquanto lhe ensinará os fundamentos de cada serviço Azure Cloud .

Nota

Esta série de módulos irá focar-se no HoloLens 2, mas devido à natureza transversal da Unidade, a maioria destas aulas também se aplicará a aplicações de desktop e mobile.

Objetivos de candidatura

Nesta série de módulos, você vai construir uma aplicação HoloLens 2 que pode detetar objetos a partir de imagens e encontrar a sua localização espacial. Vamos referir-nos a estes objetos como Objetos Rastreados.

O utilizador pode criar um Objeto Rastreado para associar um conjunto de imagens através da visão computacional, de uma localização espacial, ou de ambas. Todos os dados devem ser persistidos na nuvem. Além disso, alguns aspetos da aplicação serão opcionalmente controlados por um bot com assistência linguística natural.

Funcionalidades

  • Gestão básica de dados e imagens
  • Treinamento e deteção de imagem
  • Armazenar um local espacial e orientar-lhe
  • Assistente de bot para usar algumas funcionalidades através da linguagem natural

Cloud Services do Azure

Utilizará os seguintes serviços Azure Cloud para implementar as funcionalidades acima:

Armazenamento do Azure

Utilizará o Armazenamento Azure para persistir nos dados. O Azure Armazenamento permite armazenar dados numa tabela e carregar grandes binários como imagens.

Azure Visão Personalizada

Com o Azure Visão Personalizada (parte dos Serviços Cognitivos Azure) pode associar um conjunto de imagens a Objetos Rastreados, treinar um modelo de aprendizagem automática no conjunto que criou e detetar os Objetos Rastreados.

Azure Spatial Anchors

Para armazenar uma localização do Objeto Rastreado e dar uma direção guiada para encontrá-lo, você usará âncoras espaciais Azure.

Azure Bot Service

A sua aplicação será principalmente impulsionada pela UI tradicional, por isso utilizará o Azure Bot Service para adicionar alguma personalidade e agir como um novo método de interação.

Criar e preparar o projeto Unidade

Nesta secção, vai criar um novo projeto de Unidade e prepará-lo para o desenvolvimento do MRTK.

Em primeiro lugar, siga os passos na Initialização do seu projeto e primeira aplicação, excluindo a Build a sua aplicação para as instruções do seu dispositivo, que inclui os seguintes passos:

  1. Criar o projeto Unidade e dar-lhe um nome adequado, por exemplo, Azure Cloud Tutorials
  2. Mudar a plataforma de construção
  3. Importação do TextMeshPro Recursos Essenciais
  4. Importar o Mixed Reality Toolkit
  5. Configurar o projeto Unidade
  6. Criar e configurar a cena e dar à cena um nome adequado, por exemplo, AzureCloudServices

Em seguida, siga as instruções de alteração da opção de visualização do espaço para garantir que o perfil de configuração MRTK para a sua cena é DefaultXRSDKConfigurationProfile e alterar as opções de visualização da malha de consciência espacial para oclusão.

Instalar pacotes de unidade incorporados

  • No menu Unidade, selecione Window>Gestor de Pacotes para abrir a janela Gestor de Pacotes e, em seguida, verifique se a versão ARFoundation4.1.7> está instalada.

    Screenshot of Unity Package Manager with AR Foundation selected.

    Nota

    Está a instalar o pacote da Fundação AR porque o Azure Spatial Anchors SDK o necessita, que irá importar na secção seguinte.

Importação dos ativos tutoriais

  1. Adicione AzurespatialAnchors SDK V2.10 ao seu projeto, para adicionar os pacotes por favor siga este tutorial

  2. Descarregue e importe os seguintes pacotes personalizados da Unidade na ordem em que estão listados:

    Depois de importar os ativos tutoriais, a sua janela Project deve ser semelhante a esta:

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

Preparar a cena

Nesta secção, você vai preparar a cena adicionando alguns dos prefácios tutoriais.

  1. Na janela Project, navegue até ao AssetsMRTK>. Tutorials.AzureCloudServicesPrefabsManager>> pasta. Ao premir o botão CTRL, selecione SceneController, RootMenu e DataManager para selecionar os três pré-fabricados:

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

  2. O SceneController (prefab) contém dois scripts, SceneController (script) e UnityDispatcher (script). O componente de script SceneController contém várias funções UX e facilita a funcionalidade de captura de fotos, enquanto o UnityDispatcher é uma classe de ajudante para permitir executar ações no fio principal da Unidade.

    O RootMenu (prefab) é o pré-fabricado primário de UI que mantém todas as janelas de UI ligadas entre si através de vários pequenos componentes de script e controla o fluxo geral de UX da aplicação.

    O DataManager (prefab) é responsável por falar com o armazenamento do Azure, e será explicado mais adiante no próximo tutorial.

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

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

  4. Para se concentrar nos objetos na cena, pode clicar duas vezes no objeto RootMenu e, em seguida, fazer um zoom ligeiramente para fora novamente:

    Screenshot of Unity with RootMenu object selected.

    Dica

    Se encontrar os grandes ícones na sua cena (por exemplo, os grandes ícones 'T' emoldurados) distraindo-os, pode escondê-los tocando o Gizmos para a posição off.

Configurar a cena

Nesta secção, você conectará SceneManager, DataManager e RootMenu juntos para ter uma cena de trabalho para o próximo tutorial de armazenamento integrado Azure.

Ligação os objetos

  1. Na janela hierarquia, selecione o objeto DataManager :

    Screenshot of Unity with DataManager object selected.

  2. Na janela do Inspetor, localize o componente DataManager (Script) e verá uma ranhura vazia no evento On Data Manager Ready ( ). Arraste o objeto SceneController da janela da hierarquia para o evento On Data Manager Ready ( ).

    Screenshot of Unity with DataManager event listener added.

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

    Screenshot of Unity with DataManager event action added.

  4. A partir da janela hierarquia, selecione o objeto SceneController . Encontrará o componente SceneController (script) no Inspetor.

    Screenshot of Unity with SceneController selected.

  5. Existem agora vários campos despovoados; Vamos mudar isto. Mova o objeto DataManager da Hierarquia para o campo Data Manager e, em seguida, mova o RootMenu GameObject da Hierarquia para o campo Menu Principal .

    Screenshot of Unity with SceneController configured.

  6. Agora a tua cena está pronta para os próximos tutoriais. Não se esqueça de guardá-lo para o seu projeto.

Preparar o oleoduto de construção de projetos

Nota

Construir e testar HoloLens 2 não é obrigatório. Pode testar no HoloLens 2 Emulator se não tiver um dispositivo HoloLens. Pode comprar dispositivos a HoloLens.com.

Embora o projeto ainda tenha de ser preenchido com conteúdo, ainda tem alguma preparação antes de o projeto estar pronto para construir no HoloLens 2.

1. Adicionar capacidades adicionais necessárias

  1. No menu Unidade, selecione Edit>Project Definições... para abrir a janela Project Definições:

    Screenshot of Unity open Project Settings.

  2. Na janela Project Definições, selecione Player e, em seguida, publicar Definições:

    Screenshot of Unity Publishing Settings.

  3. Na publicação Definições, desloque-se até à secção De Capacidades e verifique duas vezes se as capacidades de InternetClient, Microfone e EspacialPercepção (que ativou quando criou o projeto no início do tutorial) estão ativadas. Em seguida, ative as capacidades do InternetClientServer, PrivateNetworkClientServer e Webcam :

    Screenshot of Unity Capabilities

2. Implementar a aplicação no seu HoloLens 2

Nota

Construir e testar HoloLens 2 não é obrigatório. Pode testar no HoloLens 2 Emulator se não tiver um dispositivo HoloLens. Pode comprar dispositivos a HoloLens.com.

Não poderá executar todas as funcionalidades que utilizará nesta série tutorial dentro do editor da Unidade. Por isso, é necessário estar familiarizado com a implementação da aplicação no seu dispositivo HoloLens 2.

Dica

Para um lembrete sobre como construir e implementar o seu projeto Unidade para HoloLens 2, pode consultar os tutoriais iniciar - Construa a sua aplicação para as instruções do seu dispositivo.

3. Executar a aplicação no seu HoloLens 2 e siga as instruções in-app

Atenção

Todos os Serviços Azure utilizam a internet, por isso certifique-se de que o seu dispositivo está ligado à internet.

Quando a aplicação estiver em execução no seu dispositivo, conceder acesso às seguintes capacidades solicitadas:

  • Microfone
  • Câmara

Estas capacidades são necessárias para que serviços como Chat Bot e Visão Personalizada funcionem corretamente.