Exercício - Serviços de Nuvem do Azure para HoloLens 2
A cada capítulo consecutivo, você adicionará novos serviços de Nuvem do Azure para expandir os recursos do aplicativo e a experiência do usuário, enquanto ensina os fundamentos de cada serviço de Nuvem do Azure.
Nota
Esta série de módulos se concentrará no HoloLens 2, mas devido à natureza multiplataforma do Unity, a maioria dessas lições também se aplicará a aplicativos móveis e de desktop.
Objetivos da aplicação
Nesta série de módulos, você construirá um aplicativo HoloLens 2 que pode detetar objetos de imagens e encontrar sua localização espacial. Referir-nos-emos a estes objetos como Objetos Rastreados.
O usuário pode criar um objeto rastreado para associar um conjunto de imagens via visão computacional, uma localização espacial ou ambos. Todos os dados devem ser mantidos na nuvem.
Funcionalidades
- Gestão básica de dados e imagens
- Treinamento e deteção de imagens
- Armazenamento de uma localização espacial e orientação para ela
Serviços Cloud 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 Azure para persistir dados. O Armazenamento do Azure permite armazenar dados em uma tabela e carregar binários grandes, como imagens.
Visão Personalizada do Azure
Com a Visão Personalizada da 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 aprendizado de máquina no conjunto criado e detetar os Objetos Rastreados.
Azure Spatial Anchors
Para armazenar um local de Objeto Rastreado e dar instruções guiadas para localizá-lo, você usará as Âncoras Espaciais do Azure.
Criar e preparar o projeto Unity
Nesta seção, você criará um novo projeto Unity e o preparará para o desenvolvimento do MRTK.
Primeiro, siga as etapas no caminho de aprendizagem do HoloLens 2, excluindo as instruções Compile seu aplicativo para seu dispositivo, que inclui as seguintes etapas:
- Criar o projeto Unity e dar-lhe um nome adequado, por exemplo, Azure Cloud Tutorials
- Mudar a plataforma de compilação
- Importando os recursos essenciais do TextMeshPro
- Importando o Kit de Ferramentas de Realidade Mista
- Configurando o projeto Unity
- Criar e configurar a cena e dar-lhe um nome adequado, por exemplo, AzureCloudServices
Importar os ativos do tutorial
Adicione o
AzurespatialAnchors
SDK ao seu projeto. Para adicionar o pacote, siga este tutorial.Baixe e importe os seguintes pacotes personalizados Unity na ordem em que estão listados:
Depois de importar os ativos do tutorial, a janela do Project deve ser semelhante a esta:
Preparar a cena
Nesta seção, você preparará a cena adicionando alguns dos pré-fabricados do tutorial.
Na janela Projeto, navegue até o MRTK de ativos>. Pasta Tutorials.AzureCloudServices>Prefabs>Manager. Enquanto mantém pressionado o botão CTRL, selecione SceneController, RootMenu e DataManager para selecionar os três pré-fabricados:
O SceneController (pré-fabricado) 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 UnityDispatcher é uma classe auxiliar para permitir executar ações no thread principal do Unity.
O RootMenu (pré-fabricado) é o pré-fabricado de interface do usuário primário que mantém todas as janelas da interface do usuário conectadas umas às outras através de vários pequenos componentes de script e controlam o fluxo geral de UX do aplicativo.
O DataManager (pré-fabricado) é responsável por falar com o armazenamento do Azure e será explicado mais detalhadamente no próximo tutorial.
Agora, com os três pré-fabricados ainda selecionados, arraste-os para a janela Hierarquia para adicioná-los à cena:
Para se concentrar nos objetos na cena, você pode clicar duas vezes no objeto RootMenu e, em seguida, reduzir ligeiramente novamente. Com o objeto RootMenu ainda selecionado, altere seus valores em seu componente Transform para o seguinte:
Posição: X = 0,0, Y = 1,6, Z = 0,6
Gorjeta
Se você achar que os ícones grandes em sua cena distraem (por exemplo, os grandes ícones 'T' emoldurados), você pode ocultá-los alternando o Gizmos para a posição off.
Configurando a cena
Nesta seção, você conectará o SceneManager, o DataManager e o RootMenu juntos para ter uma cena de trabalho para o próximo tutorial Integrando o armazenamento do Azure.
Conectar os objetos
Na janela Hierarquia, selecione o objeto DataManager :
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 Hierarchy para o evento On Data Manager Ready ().
O menu suspenso do evento agora está ativo. Selecione o menu suspenso, navegue até SceneController e selecione a opção Init () no submenu.
Na janela Hierarchy, selecione o objeto SceneController . Você encontrará o componente SceneController (script) no Inspetor.
Existem agora vários campos despovoados; vamos mudar isso. Mova o objeto DataManager da Hierarquia para o campo Gerenciador de Dados e, em seguida, mova o RootMenu MainMenu GameObject da Hierarquia para o campo Menu> Principal.
Na janela Hierarquia, selecione o objeto MRTK XR Rig . Verifique se o objeto filho MRTK Speech está habilitado. Isso permite que você abra o menu dizendo "Abrir menu".
Agora sua cena está pronta para os próximos tutoriais. Não se esqueça de salvá-lo em seu projeto.
Preparar pipeline de construção de projeto
Nota
A construção e os testes no HoloLens 2 não são obrigatórios. Você pode testar no emulador HoloLens 2 se não tiver um dispositivo HoloLens. Você pode comprar dispositivos em HoloLens.com.
Antes de terminarmos a cena, vamos preparar o projeto para construir o HoloLens 2.
1. Adicione outros recursos necessários
No menu Unity, selecione Editar>configurações do projeto... para abrir a janela Configurações do projeto.
Na janela Configurações do projeto, selecione Player e, em seguida , Configurações de publicação:
Em Configurações de Publicação, role para baixo até a seção Recursos e verifique se os recursos InternetClient, Microfone e Perceção Espacial (que você habilitou quando criou o projeto no início do tutorial) estão habilitados. Em seguida, habilite os recursos InternetClientServer, PrivateNetworkClientServer e Webcam:
2. Implante o aplicativo no seu HoloLens 2
Você não poderá executar todos os recursos que usará nesta série de tutoriais dentro do editor Unity. Portanto, você precisa estar familiarizado com a implantação do aplicativo em seu dispositivo HoloLens 2 ou emulador.
Gorjeta
Para um lembrete sobre como criar e implantar seu projeto Unity no HoloLens 2, consulte os tutoriais de Introdução - Compilar e implantar suas instruções de aplicativo .
3. Execute o aplicativo no seu HoloLens 2 e siga as instruções no aplicativo
Atenção
Todos os Serviços do Azure utilizam a Internet, por isso certifique-se de que o seu dispositivo está ligado à Internet.
Quando o aplicativo estiver sendo executado em seu dispositivo, conceda acesso aos seguintes recursos solicitados:
- Microfone
- Câmara
Esses recursos são necessários para que serviços como o Visão Personalizada funcionem corretamente.