Módulo lunar

Módulo lunar

Observação

Este artigo discute um exemplo exploratório que criamos no Realidade Misturada Design Labs, um lugar onde compartilhamos nossos aprendizados e sugestões para o desenvolvimento de aplicativos de realidade misturada. Nossos artigos e código relacionados ao design evoluirão à medida que fizermos novas descobertas.

Observação

Este aplicativo de exemplo foi projetado para o HoloLens de 1ª geração.

O Módulo Lunar é um aplicativo de exemplo de software livre do Realidade Misturada Design Labs da Microsoft. Saiba como estender os gestos básicos do HoloLens com acompanhamento com duas mãos e entrada do controlador Xbox, criar objetos reativos ao mapeamento de superfície e à localização do plano e implementar sistemas de menu simples. Todos os componentes do projeto estão disponíveis para uso em suas próprias experiências de aplicativo de realidade misturada.

Vídeo de demonstração

Gravado com HoloLens 2 usando Realidade Misturada Capture

Repensar experiências clássicas para Windows Mixed Reality

No alto da atmosfera, uma pequena nave que lembra o módulo Apollo metodicamente pesquisa terreno irregular abaixo. Nosso piloto destemido vê uma área de pouso adequada. A descida é árdua, mas felizmente, esta jornada foi feita muitas vezes antes...

Interface original do Lander Lunar de 1979 da Atari
Interface original do Lander Lunar de 1979 da Atari

Lunar Lander é um clássico de arcade onde os jogadores tentam pilotar um módulo lunar em um local plano de terreno lunar. Qualquer um nascido na anos 1970 provavelmente passou horas em um arcade com os olhos colados a esta nave vetor caindo do céu. À medida que um jogador navega em direção a uma área de pouso, o terreno é escalado para revelar progressivamente mais detalhes. Êxito significa aterrissagem dentro do limite seguro de velocidade horizontal e vertical. Os pontos são concedidos pelo tempo gasto no pouso e pelo combustível restante, com um multiplicador com base no tamanho da área de pouso.

Além da jogabilidade, a era dos jogos de arcade trouxe inovação constante de esquemas de controle. Desde as configurações mais simples de joystick e botão de quatro vias (vistas no icônico Pac-Man) até os esquemas altamente específicos e complicados vistos no final dos anos 90 e 00 (como aqueles em simuladores de golfe e atiradores ferroviários). O esquema de entrada usado na máquina lunar Lander é intrigante por duas razões: apelo de meio-fio e imersão.

Console de arcade do Lunar Lander da Atari
Console de arcade lunar Lander da Atari

Por que a Atari e tantas outras empresas de jogos decidiram repensar a entrada?

Uma criança andando por um fliperama ficará naturalmente intrigada pela máquina mais nova e chamativa. Mas Lunar Lander apresenta um novo mecânico de entrada que se destacou da multidão.

Lunar Lander usa dois botões para girar a nave para a esquerda e para a direita e uma alavanca de impulso para controlar a quantidade de impulso que a nave produz. Essa alavanca fornece aos usuários um certo nível de finesse que um joystick regular não pode fornecer. Também é um componente comum aos cockpits da aviação moderna. A Atari queria que o Lunar Lander imergisse o usuário na sensação de que ele estava de fato pilotando um módulo lunar. Esse conceito é conhecido como imersão tátil.

A imersão tátil é a experiência de comentários sensoriais de ações repetitivas. Nesse caso, a ação repetitiva de ajustar a alavanca e a rotação do acelerador, que nossos olhos veem e nossos ouvidos ouvem, ajuda a conectar o jogador ao ato de pousar uma nave na superfície da Lua. Esse conceito pode estar ligado ao conceito psicológico de "fluxo". Quando um usuário é totalmente absorvido em uma tarefa que tem a mistura certa de desafio e recompensa, ou simplificando, ele está "na zona".

Sem dúvida, o tipo mais proeminente de imersão na realidade misturada é a imersão espacial. O objetivo da realidade misturada é nos enganarmos para acreditar que esses objetos digitais existem no mundo real. Estamos sintetizando hologramas em nossos arredores, espacialmente imersos em ambientes e experiências inteiras. Isso não significa que ainda não podemos empregar outros tipos de imersão em nossas experiências, assim como a Atari fez com a imersão tátil em Lunar Lander.

Projetando com imersão

Como podemos aplicar a imersão tátil a uma sequência volumétrica atualizada ao clássico do Atari? Antes de lidar com o esquema de entrada, o constructo do jogo para o espaço tridimensional precisa ser abordado.

Visualizando o mapeamento de superfície no HoloLens
Visualizando o mapeamento espacial no HoloLens

Aproveitando o ambiente de um usuário, temos efetivamente opções infinitas de terreno para pousar nosso módulo lunar. Para tornar o jogo mais parecido com o título original, um usuário poderia potencialmente manipular e colocar plataformas de aterrissagem de diferentes dificuldades em seu ambiente.

Exigir que o usuário aprenda o esquema de entrada, controlar a nave e ter um pequeno destino para pousar é muito para perguntar. Uma experiência de jogo bem-sucedida apresenta a combinação certa de desafio e recompensa. O usuário pode escolher um nível de dificuldade, com o modo mais fácil simplesmente exigindo que o usuário aterrisse com êxito em uma área definida pelo usuário em uma superfície verificada pelo HoloLens. Depois que um usuário pega o jeito do jogo, ele pode aumentar a dificuldade como achar melhor.

Adicionando entrada para gestos de mão

A entrada base do HoloLens tem apenas dois gestos : Air Tap e Bloom. Os usuários não precisam se lembrar de nuances contextuais ou de uma lista de gestos específicos que tornam a interface da plataforma versátil e fácil de aprender. Embora o sistema só possa expor esses dois gestos, o HoloLens como um dispositivo pode rastrear duas mãos ao mesmo tempo. Nossa ode ao Lunar Lander é um [aplicativo imersivo, o que significa que podemos estender o conjunto base de gestos para aproveitar duas mãos e adicionar nossos próprios meios deliciosamente táteis para navegação de módulo lunar.

Olhando para trás no esquema de controle original, precisávamos resolver para impulso e rotação. A ressalva é que a rotação no novo contexto adiciona um eixo adicional (tecnicamente dois, mas o eixo Y é menos importante para aterrissagem). Os dois movimentos de navio distintos naturalmente se prestam a serem mapeados para cada mão:

Toque e arraste o gesto para girar o lander nos três eixos
Toque e arraste o gesto para girar o lander nos três eixos

Impulso

A alavanca na máquina de arcade original mapeada para uma escala de valores, quanto mais alta a alavanca foi movida, mais impulso foi aplicado à nave. Uma nuance importante a ser ressaltada aqui é como o usuário pode tirar a mão do controle e manter um valor desejado. Podemos usar efetivamente o comportamento de toque e arrastar para obter o mesmo resultado. O valor de impulso começa em zero. O usuário toca e arrasta para aumentar o valor. Nesse ponto eles poderiam deixar ir para mantê-lo. Qualquer alteração de valor de gesto de toque e arrastar seria o delta do valor original.

Rotação

Isso é um pouco mais complicado. Ter botões holográficos de "girar" para tocar torna uma experiência terrível. Não há um controle físico a ser aproveitado, portanto, o comportamento deve vir da manipulação de um objeto que representa o módulo de pouso ou do próprio lander. Descobrimos um método usando tap-and-drag, que permite que um usuário o "efetue push e puxe" efetivamente na direção que deseja que ele enfrente. Sempre que um usuário toca e segura, o ponto no espaço em que o gesto foi iniciado se torna a origem da rotação. Arrastar da origem converte o delta da tradução da mão (X,Y,Z) e aplica-o ao delta dos valores de rotação do módulo de pouso. Ou, mais simplesmente, arrastar para a esquerda <-> direita, para cima <-> para baixo, para frente <-> de volta em espaços gira o navio de acordo.

Como o HoloLens pode rastrear duas mãos, a rotação pode ser atribuída à mão direita enquanto o impulso é controlado pela esquerda. Finesse é o fator determinatório para o sucesso neste jogo. A sensação dessas interações é a prioridade mais alta absoluta. Especialmente no contexto de imersão tátil. Uma nave que reage muito rapidamente seria difícil de dirigir, enquanto uma muito lenta exigiria que o usuário "empurrasse e puxasse" na nave por um período de tempo estranhamente longo.

Adicionando entrada para controladores de jogo

Embora os gestos de mão no HoloLens forneçam um novo método de controle refinado, ainda há uma certa falta de comentários táteis "verdadeiros" que você obtém de controles analógicos. Conectar um controlador de jogo xbox nos permite trazer de volta essa sensação de fisicalidade, aproveitando os joysticks de controle para manter o controle refinado.

Há várias maneiras de aplicar o esquema de controle relativamente direto ao controlador xbox. Como estamos tentando ficar o mais próximo possível da configuração original do arcade, o Thrust mapeia melhor para o botão de gatilho. Esses botões são controles analógicos, o que significa que eles têm mais do que estados simples ativados e desativados , eles realmente respondem ao grau de pressão colocado sobre eles. Isso nos dá uma construção semelhante à alavanca de impulso. Ao contrário do jogo original e do gesto de mão, esse controle cortará o impulso da nave quando um usuário parar de pressionar o gatilho. Ele ainda dá ao usuário o mesmo grau de finesse que o jogo de arcade original.

O botão esquerdo é mapeado para Yaw e Roll, o botão direito é mapeado para o Pitch e Roll
O botão esquerdo é mapeado para guinada e rolagem; o botão direito é mapeado para a inclinação e rolagem

Os polegares duplos naturalmente se prestam a controlar a rotação da nave. Infelizmente, há três eixos nos quais a nave pode girar e dois polegares que dão suporte a dois eixos. Essa incompatibilidade significa que um thumbstick controla um eixo; ou há sobreposição de eixos para os polegares. A solução anterior acabou se sentindo "quebrada" já que os polegares inerentemente misturam seus valores locais de X e Y. A última solução exigiu alguns testes para descobrir quais eixos redundantes são os mais naturais. O exemplo final usa guinada e rolagem (eixos Y e X) para o polegar esquerdo, e arremesso e rolagem (eixos Z e X) para o polegar direito. Isso pareceu o mais natural como roll parece emparelhar-se independentemente bem com yaw e pitch. Como uma observação lateral, o uso de ambos os polegares para rolagem também é o dobro do valor de rotação; É muito divertido ter o módulo de pouso fazer loops.

Este aplicativo de exemplo demonstra como o reconhecimento espacial e a imersão tátil podem alterar significativamente uma experiência graças às modalidades de entrada extensíveis do Windows Mixed Reality. Enquanto Lunar Lander pode estar perto de 40 anos de idade, os conceitos expostos com esse pequeno octógono com pernas viverão para sempre. Ao imaginar o futuro, por que não olhar para o passado?

Detalhes técnicos

Você pode encontrar scripts e pré-fabricados para o aplicativo de exemplo Módulo Lunar no GitHub do Realidade Misturada Design Labs.

Sobre o autor

Imagem de Addison Linville Addison Linville
UX Designer @Microsoft

Confira também