Exercício - Azure Serviços Cloud para HoloLens 2
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:
- Criar o projeto Unidade e dar-lhe um nome adequado, por exemplo, Azure Cloud Tutorials
- Mudar a plataforma de construção
- Importação do TextMeshPro Recursos Essenciais
- Importar o Mixed Reality Toolkit
- Configurar o projeto Unidade
- 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.
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
Adicione AzurespatialAnchors SDK V2.10 ao seu projeto, para adicionar os pacotes por favor siga este tutorial
Descarregue e importe os seguintes pacotes personalizados da Unidade na ordem em que estão listados:
- AzureStorageForUnity.unitypackage
- MRTK. Tutorials.AzureCloudServices.XRPlugginManagement.unitypackage
Depois de importar os ativos tutoriais, a sua janela Project deve ser semelhante a esta:
Preparar a cena
Nesta secção, você vai preparar a cena adicionando alguns dos prefácios tutoriais.
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:
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.
Agora com os três pré-fabricados ainda selecionados, arraste-os para a janela da Hierarquia para adicioná-los à cena:
Para se concentrar nos objetos na cena, pode clicar duas vezes no objeto RootMenu e, em seguida, fazer um zoom ligeiramente para fora novamente:
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
Na janela hierarquia, selecione o objeto DataManager :
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 ( ).
O menu suspenso do evento está agora ativo. Selecione o menu dropdown e navegue para SceneController e selecione a opção Init () no submenu:
A partir da janela hierarquia, selecione o objeto SceneController . Encontrará o componente SceneController (script) no Inspetor.
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 .
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
No menu Unidade, selecione Edit>Project Definições... para abrir a janela Project Definições:
Na janela Project Definições, selecione Player e, em seguida, publicar Definições:
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 :
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.
Precisa de ajuda? Veja o nosso guia de resolução de problemas ou faça comentários específicos ao comunicar um problema.