Controladores de movimento

Os controladores de movimento são acessórios de hardware que permitem que os usuários tomem medidas em realidade misturada. Uma vantagem dos controladores de movimento em relação aos gestos é que os controladores têm uma posição precisa no espaço, permitindo uma interação refinada com objetos digitais. Para Windows Mixed Reality headsets imersivos, os controladores de movimento são a principal maneira de os usuários agirem em seu mundo.

Imagem: um controlador de movimento Windows Mixed Reality

controladores de movimento Windows Mixed Reality



Suporte a dispositivos

Recurso HoloLens (1ª geração) HoloLens 2 Headsets imersivos
Controladores de movimento ✔️

Detalhes do hardware

Windows Mixed Reality controladores de movimento oferecem controle de movimento preciso e responsivo em seu campo de exibição usando os sensores no headset imersivo. Não é necessário instalar hardware nas paredes do seu espaço. Esses controladores de movimento oferecerão a mesma facilidade de instalação e portabilidade que Windows Mixed Reality headsets imersivos. Nossos parceiros de dispositivos planejam comercializar e vender esses controladores nas prateleiras de varejo neste feriado.

Conheça seu controlador
Conheça seu controlador

Recursos:

  • Acompanhamento óptico
  • Gatilho
  • Botão Pegar
  • Manípulo
  • Touchpad

Instalação

Antes de começar

Você precisará de:

  • Um conjunto de dois controladores de movimento.
  • Quatro baterias AA.
  • Um computador com suporte a Bluetooth 4.0.

Verificar se há atualizações do Windows, do Unity e do driver

Controladores de emparelhamento

Os controladores de movimento podem ser ligados ao computador host usando configurações do Windows como qualquer outro dispositivo Bluetooth.

  1. Insira duas baterias AA na parte traseira do controlador. Deixe a tampa da bateria desligada por enquanto.
  2. Se você estiver usando um Adaptador Bluetooth USB externo em vez de um rádio Bluetooth interno, examine as melhores práticas de Bluetooth antes de continuar. Para a configuração da área de trabalho com rádio interno, verifique se a antena está conectada.
  3. Abra Configurações do Windows ->Dispositivos ->Adicionar Bluetooth ou outro dispositivo ->Bluetooth e remova todas as instâncias anteriores de "Controlador de movimento – Direita" e "Controlador de movimento – Esquerda". Verifique também Outras categorias de dispositivos na parte inferior da lista.
  4. Selecione Adicionar Bluetooth ou outro dispositivo e veja-o começando a descobrir dispositivos Bluetooth.
  5. Pressione e segure o botão windows do controlador para ativar o controlador, solte quando ele tocar.
  6. Pressione e segure o botão de emparelhamento (guia no compartimento da bateria) até que os LEDs comecem a pulsar.
  1. Aguarde "Controlador de movimento – Esquerda" ou "Controlador de movimento – Direita" para aparecer na parte inferior da lista. Selecione para emparelhar. O controlador vibrará uma vez quando conectado.

    Imagem: selecione "Controlador de movimento" para emparelhar; se houver várias instâncias, selecione uma na parte inferior da lista

Selecione Controlador de movimento para emparelhar, se várias instâncias selecionarem uma na parte inferior da lista

  1. Você verá o controlador aparecer nas configurações de Bluetooth na categoria "Mouse, teclado & caneta" como Conectado. Neste ponto, você pode obter uma atualização de firmware – consulte a próxima seção.
  2. Reanexe a tampa da bateria.
  3. Repita as etapas 1 a 9 para o segundo controlador.

Depois de emparelhar os dois controladores com êxito, suas configurações devem ser semelhantes às seguintes, na categoria "Mouse, teclado & caneta"

Imagem: Controladores de movimento conectados

Controladores de movimento conectados

Se os controladores estiverem desativados após o emparelhamento, seus status aparecerão como Emparelhados. Para controladores permanentemente na categoria "Outros dispositivos", o emparelhamento pode ter sido concluído apenas parcialmente. Nesse caso, execute as etapas de emparelhamento novamente para obter o controlador funcional.

Atualizando o firmware do controlador

  • Se um headset imersivo estiver conectado ao computador com o novo firmware do controlador disponível, o firmware será enviado por push para os controladores de movimento automaticamente na próxima vez que você os ativar. As atualizações de firmware do controlador são indicadas por um padrão de quadrantes LED iluminados em um movimento circular e levam de 1 a 2 minutos.
  • Após a conclusão da atualização de firmware, os controladores serão reinicializados e reconectados. Ambos os controladores devem estar conectados agora.

    Imagem: Controladores conectados nas configurações de Bluetooth

Controladores conectados

  • Verifique se os controladores funcionam corretamente:
    1. Inicie Realidade Misturada Portal e insira seu Realidade Misturada Home.
    2. Mova seus controladores e verifique o acompanhamento, os botões de teste e verifique se o teletransporte funciona. Se não o fizerem, marcar solução de problemas do controlador de movimento.

Observando e apontando

Windows Mixed Reality dá suporte a dois modelos principais para interação; olhar e confirmar e apontar e confirmar:

  • Com foco e confirmação, os usuários direcionam um objeto com seu foco e, em seguida, selecionam objetos com toques de ar manual, um gamepad, um clicker ou sua voz.
  • Com ponto e confirmação, um usuário pode apontar um controlador de movimento com capacidade para apontar para o objeto de destino e, em seguida, selecionar objetos com o gatilho do controlador.

Os aplicativos que dão suporte a apontar com controladores de movimento também devem habilitar interações orientadas por foco sempre que possível, para dar aos usuários uma opção em quais dispositivos de entrada eles usam.

Gerenciamento de recuo ao apontar

Ao usar controladores de movimento para apontar e confirmar, os usuários usarão o controlador para direcionar e interagir puxando o gatilho. Os usuários que puxam o gatilho vigorosamente podem acabar apontando para o controlador mais alto no final do pull do gatilho do que eles pretendiam.

Para gerenciar qualquer recuo que possa ocorrer quando os usuários efetuam pull do gatilho, seu aplicativo pode ajustar seu raio de direcionamento quando o valor do eixo analógico do gatilho subir acima de 0,0. Em seguida, você pode executar uma ação usando esse raio de destino alguns quadros depois que o valor do gatilho atingir 1,0, desde que a imprensa final ocorra em uma breve janela de tempo. Ao usar o gesto de toque composto de nível superior, o Windows gerenciará essa captura de raio de destino e o tempo limite para você.

Pose de aperto versus pose apontando

Windows Mixed Reality dá suporte a controladores de movimento em diferentes fatores forma, com o design de cada controlador diferindo em sua relação entre a posição da mão do usuário e a direção natural "forward" que os aplicativos devem usar para apontar ao renderizar o controlador.

Para representar melhor esses controladores, há dois tipos de poses que você pode investigar para cada fonte de interação; a pose de aperto e a pose do ponteiro.

Pose de aperto

A pose de aperto representa o local da palma de uma mão detectada por um HoloLens ou da palma da mão segurando um controlador de movimento.

Em headsets imersivos, a pose de aperto é melhor usada para renderizar a mão do usuário ou um objeto mantido na mão do usuário, como uma espada ou uma arma. A pose de aperto também é usada ao visualizar um controlador de movimento, pois o modelo renderizável fornecido pelo Windows para um controlador de movimento usa a pose de aperto como sua origem e centro de rotação.

A pose de aperto é definida especificamente da seguinte maneira:

  • A posição da alça: o centroide de palma ao segurar o controlador naturalmente, ajustado para a esquerda ou direita para centralizar a posição dentro da alça. No controlador de movimento Windows Mixed Reality, essa posição geralmente se alinha com o botão Agarrar.
  • O eixo direito da orientação de aperto: quando você abre completamente a mão para formar uma pose plana de cinco dedos, o raio que é normal para a palma da mão (para a frente da palma da esquerda, para trás da palma da direita)
  • Eixo de avanço da orientação de aderência: quando você fecha a mão parcialmente (como se estivesse segurando o controlador), o raio que aponta "para frente" através do tubo formado por seus dedos não polegares.
  • O eixo Superior da orientação de aderência: o eixo Para cima implícito pelas definições Right e Forward.

Pose de ponteiro

A pose do ponteiro representa a ponta do controlador apontando para frente.

A pose de ponteiro fornecida pelo sistema é melhor usada para raycast quando você está renderizando o próprio modelo do controlador. Se você estiver renderizando algum outro objeto virtual no lugar do controlador, como uma arma virtual, deverá apontar com um raio mais natural para esse objeto virtual, como um raio que viaja ao longo do barril do modelo de arma definido pelo aplicativo. Como os usuários podem ver o objeto virtual e não o controlador físico, apontar com o objeto virtual provavelmente será mais natural para aqueles que usam seu aplicativo.

Estado de acompanhamento do controlador

Assim como os fones de ouvido, o controlador de movimento Windows Mixed Reality não requer nenhuma configuração de sensores de rastreamento externos. Em vez disso, os controladores são rastreados por sensores no próprio fone de ouvido.

Se o usuário mover os controladores para fora do campo de exibição do headset, na maioria dos casos o Windows continuará a inferir posições do controlador e fornecê-los ao aplicativo. Quando o controlador tiver perdido o rastreamento visual por tempo suficiente, as posições do controlador cairão para posições de precisão aproximada.

Neste ponto, o sistema bloqueará o controlador para o usuário, acompanhando a posição do usuário à medida que ele se move, enquanto ainda expõe a verdadeira orientação do controlador usando seus sensores de orientação interna. Muitos aplicativos que usam controladores para apontar e ativar elementos da interface do usuário podem operar normalmente com precisão aproximada sem que o usuário perceba.


Raciocínio sobre o estado de acompanhamento explicitamente

Os aplicativos que desejam tratar posições de forma diferente com base no estado de acompanhamento podem ir além e inspecionar propriedades no estado do controlador, como SourceLossRisk e PositionAccuracy:

Estado de acompanhamento SourceLossRisk PositionAccuracy TryGetPosition
Alta precisão < 1.0 Alto true
Alta precisão (em risco de perda) == 1,0 Alto true
Precisão aproximada == 1,0 Aproximado true
Nenhuma posição == 1,0 Aproximado false

Esses estados de acompanhamento do controlador de movimento são definidos da seguinte maneira:

  • Alta precisão: Embora o controlador de movimento esteja dentro do campo de exibição do headset, ele geralmente fornecerá posições de alta precisão, com base no acompanhamento visual. Um controlador móvel que momentaneamente deixa o campo de exibição ou é momentaneamente obscurecido dos sensores do fone de ouvido (por exemplo, por outra mão do usuário) continuará a retornar poses de alta precisão por um curto período de tempo, com base no acompanhamento inercial do próprio controlador.
  • Alta precisão (correndo o risco de perder): Quando o usuário move o controlador de movimento para além da borda do campo de exibição do fone de ouvido, o headset em breve não poderá acompanhar visualmente a posição do controlador. O aplicativo sabe quando o controlador atingiu esse limite FOV vendo o SourceLossRisk chegar a 1,0. Nesse ponto, o aplicativo pode optar por pausar gestos do controlador que exigem um fluxo constante de poses de alta qualidade.
  • Precisão aproximada: Quando o controlador tiver perdido o rastreamento visual por tempo suficiente, as posições do controlador cairão para posições de precisão aproximada. Neste ponto, o sistema bloqueará o controlador para o usuário, acompanhando a posição do usuário à medida que ele se move, enquanto ainda expõe a verdadeira orientação do controlador usando seus sensores de orientação interna. Muitos aplicativos que usam controladores para apontar e ativar elementos da interface do usuário podem operar normalmente enquanto estão em precisão aproximada sem que o usuário perceba. Aplicativos com requisitos de entrada mais pesados podem optar por detectar essa queda de Alta precisão para Precisão aproximada inspecionando a propriedade PositionAccuracy , por exemplo, para dar ao usuário uma caixa de ocorrência mais generosa em destinos fora da tela durante esse tempo.
  • Sem posição: Embora o controlador possa operar com precisão aproximada por um longo tempo, às vezes o sistema sabe que até mesmo uma posição bloqueada pelo corpo não é significativa no momento. Por exemplo, um controlador que foi ativado pode nunca ter sido observado visualmente ou um usuário pode colocar um controlador que, em seguida, é captado por outra pessoa. Nesses momentos, o sistema não fornecerá nenhuma posição para o aplicativo e TryGetPosition retornará false.

Interações: entrada espacial de baixo nível

As principais interações entre mãos e controladores de movimento são Selecionar, Menu, Garra, Touchpad, Thumbstick e Página Inicial.

  • Selecionar é a principal interação para ativar um holograma, consistindo em uma imprensa seguida por uma versão. Para controladores de movimento, você executa uma tecla Select usando o gatilho do controlador. Outras maneiras de executar um Select são falando o comando de voz "Selecionar". A mesma interação de seleção pode ser usada em qualquer aplicativo. Pense em Selecionar como o equivalente a um clique do mouse; uma ação universal que você aprende uma vez e, em seguida, aplica em todos os seus aplicativos.
  • O menu é a interação secundária para atuar em um objeto, usada para efetuar pull de um menu de contexto ou executar alguma outra ação secundária. Com os controladores de movimento, você pode executar uma ação de menu usando o botão de menu do controlador. (ou seja, o botão com o ícone de hambúrguer "menu" nele)
  • A compreensão é como os usuários podem agir diretamente em objetos em suas mãos para manipulá-los. Com os controladores de movimento, você pode fazer uma ação de compreensão apertando o punho firmemente. Um controlador de movimento pode detectar um Grasp com um botão de captura, gatilho de palma ou outro sensor.
  • O Touchpad permite que o usuário ajuste uma ação em duas dimensões ao longo da superfície do touchpad de um controlador de movimento, confirmando a ação clicando no touchpad. Os touchpads fornecem um estado pressionado, um estado tocado e coordenadas XY normalizadas. X e Y variam de -1 a 1 no intervalo do touchpad circular, com um centro em (0, 0). Para X, -1 está à esquerda e 1 à direita. Para Y, -1 está na parte inferior e 1 está na parte superior.
  • O thumbstick permite que o usuário ajuste uma ação em duas dimensões movendo o polegar de um controlador de movimento dentro de seu intervalo circular, confirmando a ação clicando no botão de polegar. Os thumbsticks também fornecem um estado pressionado e coordenadas XY normalizadas. X e Y variam de -1 a 1 no intervalo do touchpad circular, com um centro em (0, 0). Para X, -1 está à esquerda e 1 à direita. Para Y, -1 está na parte inferior e 1 está na parte superior.
  • Home é uma ação especial do sistema que é usada para voltar ao Menu Iniciar. É semelhante a pressionar a tecla Windows em um teclado ou o botão Xbox em um controlador Xbox. Você pode ir para Casa pressionando o botão Windows em um controlador de movimento. Observe que você sempre pode voltar para Iniciar dizendo "Ei Cortana, Ir para Casa". Os aplicativos não podem reagir especificamente às ações da Página Inicial, pois elas são tratadas pelo sistema.

Gestos compostos: entrada espacial de alto nível

Gestos de mão e controladores de movimento podem ser acompanhados ao longo do tempo para detectar um conjunto comum de gestos compostos de alto nível. Isso permite que seu aplicativo detecte gestos de toque, retenção, manipulação e navegação de alto nível, independentemente de os usuários acabarem usando mãos ou controladores.

Renderizando o modelo do controlador de movimento

Modelos de controlador 3D O Windows disponibiliza para aplicativos um modelo renderizável de cada controlador de movimento atualmente ativo no sistema. Ao fazer com que seu aplicativo carregue e articule dinamicamente esses modelos de controlador fornecidos pelo sistema em runtime, você pode garantir que seu aplicativo seja compatível com o futuro design do controlador.

É recomendável renderizar todos os modelos renderizáveis na pose de aderência do controlador, pois a origem do modelo está alinhada com esse ponto no mundo físico. Se você estiver renderizando modelos de controlador, talvez queira fazer raycast em sua cena a partir da pose do ponteiro, que representa o raio ao longo do qual os usuários naturalmente esperam apontar, considerando o design físico desse controlador.

Para obter mais informações sobre como carregar modelos de controlador dinamicamente no Unity, consulte a seção Renderizando o modelo do controlador de movimento no Unity .

Arte de linha do controlador 2D Embora seja recomendável anexar dicas e comandos do controlador no aplicativo aos próprios modelos de controlador no aplicativo, alguns desenvolvedores podem querer usar representações de arte de linha 2D dos controladores de movimento na interface do usuário simples "tutorial" ou "instruções". Para esses desenvolvedores, disponibilizamos .png arquivos de arte de linha do controlador de movimento em preto e branco abaixo (clique com o botão direito do mouse para salvar).

Visualização da arte de linha dos controladores de movimento

Arte de linha de controladores de movimento de resolução completa em '''white'''

Arte de linha de controladores de movimento de resolução total em '''black'''

Perguntas frequentes

Posso emparelhar controladores de movimento a vários computadores?

Os controladores de movimento dão suporte ao emparelhamento com um único computador. Siga as instruções sobre a configuração do controlador de movimento para emparelhar seus controladores.

Como fazer atualizar firmware do controlador de movimento?

O firmware do controlador de movimento faz parte do driver do headset e será atualizado automaticamente na conexão, se necessário. As atualizações de firmware normalmente levam de 1 a 2 minutos, dependendo da qualidade do rádio e do link bluetooth. Em casos raros, as atualizações de firmware do controlador podem levar até 10 minutos, o que pode indicar baixa conectividade Bluetooth ou interferência de rádio. Confira Práticas recomendadas de Bluetooth no Guia do Entusiasta para solucionar problemas de conectividade. Após uma atualização de firmware, os controladores serão reinicializados e reconectados ao computador host (você pode notar que os LEDs ficam brilhantes para acompanhamento). Se uma atualização de firmware for interrompida (por exemplo, os controladores perderem energia), ela será tentada novamente na próxima vez que os controladores forem ligados.

Como posso marcar nível de bateria?

Na Windows Mixed Reality página inicial, você pode virar o controlador para ver o nível da bateria no lado inverso do modelo virtual. Não há indicador de nível de bateria físico.

Você pode usar esses controladores sem um fone de ouvido? Apenas para a entrada joystick/gatilho/etc?

Não para Aplicativos Universais do Windows.

Solução de problemas

Confira solução de problemas do controlador de movimento no Guia do Entusiasta.

Arquivar comentários/bugs do controlador de movimento

Envie-nos comentários no Hub de Feedback usando a categoria "Realidade Misturada -> Entrada".

Confira também