Desenvolvimento

13 set, 2016

Desenvolvendo para HoloLens com o emulador

Publicidade

Oi, eu sou o René da IdentityMine/Valorem e um desenvolvedor apaixonado pelo trabalho com computação gráfica 3D. Eu trabalho com VR e AR há muitos anos. Com todos os incríveis dispositivos de RV e AR/MR saindo, é um ótimo momento para ser um desenvolvedor trabalhando nesse espaço envolvente usando Unity. Como parte do HoloLens Agency Readiness Program da Microsoft, eu tive a sorte de ter trabalhado em experiências com o HoloLens desde o ano passado e, neste artigo, eu gostaria de compartilhar algumas das coisas que fizemos e as coisas que aprendemos.

Minha equipe e eu estamos desenvolvendo vários tipos de diferentes aplicativos HoloLens e jogos para muitos casos de uso diferentes. Não consigo compartilhar todos os projetos nos quais estamos trabalhando, mas este vídeo e as imagens abaixo te darão um vislumbre desses projetos.

image03-2

Nós também lançamos recentemente um pequeno jogo para HoloLens chamado Tower Blocks. Ele foi criado através da experimentação de interações com duas mãos em que experimentamos novas formas de transformar hologramas. Nos divertimos tanto jogando que o lançamos gratuitamente na Microsoft Store.

Eu também compartilhei o que eu aprendi em palestras e gravações no evento Unity’s Unite Europe e na Unity’s Unite Europe, bem como em alguns textos como Getting Started with HoloLens Development e Top 10 HoloLens Development Recommendations.

Uma boa parte das conversas e dos artigos cobriu melhores práticas e outras coisas que aprendi enquanto trabalhava em um projeto chamado HoloFlight, que é uma visualização em tempo real de dados de voos próximos para HoloLens utilizando topografia do mundo real e dados de voo que mostram os dados em 3D como hologramas em vez de plotagens 2D planas.

O emulator HoloLens

Na IdentityMine, tivemos acesso a alguns dispositivos HoloLens, mas nem todos de nossa equipe tiveram acesso a eles, portanto, a maior parte do HoloFlight foi desenvolvido utilizando o emulador HoloLens e a Unity build especial para HoloLens, que todos podem baixar gratuitamente.

HoloLens é um dispositivo Windows 10, e o emulador HoloLens funciona como uma máquina virtual Hyper-V. Você pode aprender mais sobre os requisitos de sistema aqui. A entrada humana, como gestos e outros sensores, é simulada usando teclado de PC, mouse ou controle do Xbox.

Deployment

É realmente fácil fazer o deploy de um game/app Unity para o emulador. Ele só tem que ser construído como um aplicativo Unity regular para HoloLens. Em seguida, a partir da solução Visual Studio Output, a plataforma certa e o dispositivo de destino têm que ser selecionados na lista suspensa:

image06-2

Entrada do emulator

O emulador pode simular mudanças posicionais (usuário andando), bem como alterações de rotação (cabeça do usuário em rotação), os gestos, as mãos e até mesmo comandos de voz.

Posição e rotação: A rotação pode ser simulada pressionando o botão esquerdo do mouse e movendo o mouse. Mudanças de posição podem ser simuladas usando as teclas W, S, A, D e Page Up/Down.

Gestos e mãos: O gesto de air-tap pode ser simulado com o botão direito do mouse; se a tecla Alt é pressionada enquanto pressiona o botão direito do mouse, o gesto tap+hold da mão para movimento de rolagem pode ser simulado. O gesto de expansão que traz o menu Iniciar do Windows está mapeado na tecla Windows do teclado.

Voz e reconhecimento de fala: HoloLens é um dispositivo Windows 10 que suporta o assistente controlado por voz Cortana da Microsoft para reconhecimento de voz. Isso funciona bem com o emulador HoloLens.

Tem mais: Rotação da mão, da cabeça e muito mais recursos de emulação podem ser controlados. Uma lista detalhada de todas as entradas do emulador simulados pode ser encontrada aqui.

Mapeamento espacial

Além do fato de que o HoloLens é um dispositivo totalmente untethered, o que pode renderizar hologramas, uma outra característica única é que ele constantemente faz uma varredura e realiza uma reconstrução da superfície fornecendo um mapa espacial do ambiente para a sua aplicação. Esse recurso por si só é muito impressionante como você pode ver neste vídeo de demonstração quando as bolas virtuais rolam no jardim real.

É claro que o emulador também suporta mapeamento espacial e, ainda melhor, ele realmente pode carregar diferentes ambientes/cômodos para testar.

Esses cômodos podem ser extraídos de um dispositivo HoloLens como arquivos .xef, assim você poderia usar um dispositivo HoloLens, digitalizar um ambiente, salvar e, em seguida, carregar no emulador. Por exemplo, a imagem abaixo mostra uma malha espacial de uma escadaria do mundo real carregada no emulador:

image01-2

Que é semelhante a esta, quando vista através do dispositivo HoloLens:

image00-2

Mais detalhes sobre o emulador e sua feature Room podem ser encontrados aqui.

Conclusão

O conjunto de ferramentas HoloLens fornece tudo que você precisa para começar com o desenvolvimento HoloLens, incluindo um emulador surpreendente, que fica próximo do dispositivo real. Todas essas ferramentas são gratuitas! Claro que nada está tão perto do comportamento de um dispositivo real e, no fim, é necessário um aplicativo profissional para ajustar o desempenho e a UX, mas o emulador pode fornecer um bom ponto de partida. Nós aproveitamos o emulador em uma equipe distribuída para acelerar o desenvolvimento e não nos limitarmos pela utilidade do dispositivo, o que funcionou muito bem para nós.

***

Sobre o autor: René Schulte é o diretor de experiências imersivas na Consultoria IdentityMine/Valorem. Ele tem experiência com VR, AR, MR, desenvolvimento e programação em 3D há mais de 10 anos e tem desenvolvido para o HoloLens desde 2015. Ele é um orador frequente em conferências como Build, Unite, NDC e escreve em blogs sobre muitos tópicos para desenvolvedor. René Schulte também criou e mantém algumas bibliotecas de código aberto populares para Windows, como WriteableBitmapEx e a biblioteca de realidade aumentada SLARToolKit. Por todo o seu trabalho em comunidades, René Schulte foi homenageado com o Microsoft MVP Award.

***

Este artigo é do Unity Team. Ele foi escrito por René Schulte. Você pode conferir o original em https://blogs.unity3d.com/2016/08/18/developing-for-hololens-with-the-emulator/