Exercício – Serviços de Nuvem do Azure para HoloLens 2
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:
- Criar o projeto do Unity e dar a ele um nome adequado, por exemplo, Tutoriais da Nuvem do Azure
- Como alternar a plataforma de build
- Como importar os Recursos Essenciais do TextMeshPro
- Como importar o Kit de Ferramentas de Realidade Misturada
- Como configurar o projeto do Unity
- Criar e configurar a cena e dar um nome adequado à cena, 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 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:
Preparar a cena
Nesta seção, você vai preparar a cena adicionando alguns dos pré-fabricados do tutorial.
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:
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.
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, 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
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
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 Hierarquia para o evento Pronto no Gerenciador de Dados () .
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 Hierarquia, selecione o objeto SceneController. Você encontrará o componente SceneController (script) no Inspetor.
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.
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".
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
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:
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:
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.