Hololens: Entenda O Que é e Como Desenvolver Apps Holográficas

HoloLens

Texto de Marlon Luz,  Evangelista da Microsoft, publicado no lab27

Para começar, gostaria de dizer que este post está repleto de vídeos, creio que não existe outra forma de mostrar Realidade Aumentada se não for na forma de vídeos. Mas não se preocupe, os vídeos são curtos, por volta de 3 minutos apenas cada um.

Realidade Aumentada

HoloLens é sobre Realidade Aumentada. Misturar o real e o virtual juntos no mesmo ambiente aumentando assim a realidade com dados, informações e objetos virtuais. Particularmente sou fã deste assunto desde 2006 quando descobri o termo e no ano seguinte fiz o meu trabalho de conclusão do curso de Ciência da Computação na faculdade. Na época era difícil explicar para as pessoas sobre realidade aumentada, mas alguns anos depois a população começou a compreender mais facilmente a tecnologia. Meu trabalho da faculdade na época tratava-se de um jogo chamado Real Invaders, onde naves virtuais estavam no ambiente do jogador através da câmera do celular. Mexendo o celular o jogador poderia descobrir onde estavam as naves e então atirar para destruí-las. Detalhe: o jogo NÃO usava acelerômetro para detectar os movimentos, mas usava rastreamento de imagem, movimentando assim as naves na tela do celular. Abaixo segue um vídeo sobre o jogo que eu fiz.

No ano passado participei de um Hackathon organizado pela Microsoft e pude também fazer mais um projeto de Realidade Aumentada: Real Kick! Trata-se de um jogo de futebol para Windows Phone onde você bate cobranças de pênaltis com o próprio pé. Quem quiser pode baixar o jogo gratuitamente neste link

real kick

HoloLens

O novo dispositivo da Microsoft, o HoloLens, é num formato de óculos, onde nas lentes é possível ver o mundo real e também o virtual, usando para isso a Realidade Aumentada. Existem dois tipos de Realidade Aumentada, as COM marcadores e as SEM marcadores. Os marcadores são dispositivos reais que ficam no mundo real e que tem uma imagem específica, um tipo de marcador muito comum é o QRCode. Na Realidade Aumentada COM marcadores, objetos virtuais são colocados virtualmente sobre os marcadores do mundo real, substituindo assim algo real pelo virtual. No caso do HoloLens a Realidade Aumentada funciona SEM marcadores, o dispositivo tem sensores que conseguem mapear o ambiente, detectar paredes, móveis, mesas, etc. No vídeo abaixo podemos ver a apresentação do HoloLens no evento Build que aconteceu no finalzinho de Abril de 2015.

Até agora sabemos poucos detalhes sobre o hardware do HoloLens, o que sei e que posso afirmar é que o dispositivo tem muitos sensores, inclusive câmeras (pelo menos 3). Os sensores têm o objetivo principal de fazer a localização espacial dentro de um ambiente e assim conseguir colocar toda a Realidade Aumentada, que a Microsoft chama de Hologramas, dentro do ambiente. Um ponto interessante que se pode observar no vídeo da apresentação do Build é que se tivermos mais de uma pessoa usando o HoloLens num mesmo ambiente, elas podem compartilhar os hologramas, ou seja, os hologramas podem ser vistos a partir de ângulos completamente diferentes por dispositivos diferentes.

No vídeo abaixo a Microsoft mostra um pouco mais de detalhes do hardware do HoloLens. Sugiro assinar o canal e acompanhar os vídeos que a Microsoft está publicando.

O que o HoloLens tem de diferente do Google Glass ?

O Google Glass é um produto muito bem acabado e principalmente pequeno e leve, o que o torna super adequado para ser usado como óculos. O Google Glass também trabalha com Realidade Aumentada. No canto superior do seu campo de visão, informações são adicionadas de uma forma bem elegante, aumentando assim a realidade com informações. O dispositivo também tem uma câmera frontal, onde é possível gravar o que os seus olhos estão vendo e transmitir para outras pessoas. Abaixo temos um vídeo do próprio Google sobre o produto.

O HoloLens faz as mesmas coisas que o Google Glass faz. Entretanto o HoloLens coloca a Realidade Aumentada integrada ao ambiente. Pelo fato do HoloLens ter diversos sensores para detectar o ambiente, Hologramas podem ser adicionados ao ambiente e serem vistos de qualquer ângulo. Outra diferença é que o Google Glass funciona conectado a um telefone por bluetooth, pois é dessa maneira que o óculos do Google tem conectividade, já o HoloLens funciona independente de celular ou computador. Ou seja, basta o HoloLens estar conectado numa refe Wifi e tudo funciona.

Um dos primeiros conceitos de óculos com Realidade Aumentada que me chamaram a atenção foi o conceito da Nokia apresentado ainda em 2009. Num vídeo apresentado pela Nokia, o dispositivo parece ser a combinação de um óculos + celular + pulseira. A parte da pulseira é a que mais me chamou a atenção, pois ela consegue fazer o rastreamento dos seus movimentos com a mão para então levar os gestos para o óculos. A Nokia infelizmente nunca apresentou um protótipo do produto, parece que tudo não passou de uma produção visual. Veja abaixo o vídeo do Nokia Mixed Reality.

Como faço para desenvolver Apps para o HoloLens?

O HoloLens roda Windows 10. E por essa razão fica muito simples para o desenvolvedor fazer Apps Holográficas, basta o desenvolvedor fazer uma app do tipo Universal App no computador por exemplo, que ela naturalmente poderá executar holograficamente no HoloLens. Mas como? Se você analisar o vídeo da apresentação do Build novamente, verá que existe basicamente 2 tipos de Aplicativos Holográficos:

1) Aplicativos 3D: Os aplicativos 3D são Hologramas de 3 dimensões que podem ficar num chão ou sobre uma mesa por exemplo, apresentam vários ângulos de visão e fornecem o conceito próprio de Hologramas como já vimos muitas vezes em filmes de ficção. No caso do vídeo esses aplicativos são o Cachorrinho apresentado no início do vídeo, o Globo Terreste e a Ilha de Maui com a previsão do tempo. Esses aplicativos eu considero um pouco mais difíceis de se construir pois envolvem modelagem 3D. Eles também são Aplicativos Universais, mas pelo fato de terem modelagens 3D oferecem a vantagem de ter ângulos diferentes.

2) Aplicativos em Janelas: No vídeo da apresentação do Build podemos ver que a pessoa que estava usando o HoloLens tinha na parede um player de vídeo, e na outra parede uma Janela do Skype, outra do Bing e outra de Fotos! Essas apps eram apenas Janelas básicas do Windows como estamos acostumados nos últimos 20 anos. Entretanto essas Janelas estavam integradas ao ambiente espacial da sala, ou seja, estavam presas nas paredes ou acompanhando o apresentador enquanto ele caminhava. Essas Apps são extremamente fáceis de se colocar no HoloLens, pois são exatamente as mesmas Apps que você desenvolve e executa no seu computador, tablet ou telefone celular.

A API de Apps Universais permite que você desenvolva um aplicativo e o rode em qualquer plataforma, seja telefone, tablet, computador, XBOX e inclusive HoloLens. Veja na imagem abaixo todos os dispositivos que rodam Windows 10 e também a API de Apps Universais.

UADispositivos

A Microsoft trabalhou duro para disponibilizar uma API que fosse comum a vários dispositivos, mas ela fez, e isso traz grande benefício para o desenvolvedor. A Microsoft acredita que os aplicativos desenvolvidos por você desenvolvedor devem estar o mais acessíveis possível para todas as pessoas, não interessando qual dispositivo Windows o usuário esteja usando. Com o conceito de Apps Universais é possível ainda começar a usar uma app no telefone celular e continuar usando-a num computador, tudo integrado, inclusive os dados! A imagem abaixo mostra como é distribuída a API de Apps Universais entre os dispositivos. O círculo grande no centro é a maior parte do seu código e no contorno desse círculo você tem APIs específicas para cada dispositivo.UniversalAppAPI

O conceito de Apps Universais foi introduzido ainda no Windows 8.1 onde já é possível fazer apps que rodam no computador e no telefone e portanto, mesmo que você não tenha o Windows 10 Technical Preview instalado, mas tenha o Windows 8.1 você já pode começar a fazer sua App Universal e no futuro vê-la sendo executada no HoloLens.

Caso queira instalar o Windows 10 Technical Preview, entre no programa Windows Insider através deste link.

A Microsoft tem um conteúdo bem útil sobre desenvolvimento de Apps Universais que você pode encontrar neste link

Além disso, você também pode aprender no Microsoft Virtual Academy sobre Aplicativos Universais. O Caio Chaves e eu gravamos um curso chamado “Introdução a Universal Apps” que está disponível neste link

 

No Channel9 também tem disponível uma entrevista com o Alex Kipman, o Technical Fellow que está no projeto do HoloLens e ele dá vários detalhes sobre o dispositivo. Veja o vídeo nesse link

Enfim, estou ansioso para colocar minhas mãos e minhas apps num HoloLens, quando eu conseguir, pode deixar que faço um post bem detalhado e inclusive com vídeos sobre minha experiência.

E não perca o Build São Paulo, dia 21 de Maio de 2015 no Allianz Parque (Estádio do Palmeiras). Se não conseguiu realizar a inscrição no evento, não tem problema! Você pode assistir online através do link http://aka.ms/buildtoursp.

#KeepCoding
@marlonluz

 

Texto publicado no lab27