Controladores de movimento

Os controladores de movimento são acessórios de hardware que permitem que os usuários tomem medidas na 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 que os usuários tomarão medidas em seu mundo.

Imagem: Um controlador de movimento Windows Mixed Reality

Windows Mixed Reality motion controllers



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 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 dispositivo planejam comercializar e vender esses controladores nas prateleiras de varejo neste feriado.

Get to know your controller
Conheça seu controlador

Recursos:

  • Acompanhamento óptico
  • Gatilho
  • Botão Agarrar
  • 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 Bluetooth 4.0.

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

Controladores de emparelhamento

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

  1. Insira duas baterias AA na parte de trás do controlador. Deixe a tampa da bateria desligada por enquanto.
  2. Se você estiver usando um Adaptador de Bluetooth USB externo em vez de uma rádio Bluetooth interna, examine as práticas recomendadas Bluetooth antes de prosseguir. Para a configuração da área de trabalho com rádio interno, verifique se a antena está conectada.
  3. Abra Windows Configurações ->Devices ->Add 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 Bluetooth dispositivos.
  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: Selecionar "Controlador de movimento" para emparelhar; se houver várias instâncias, selecione uma na parte inferior da lista

Select Motion controller to pair, if multiple instances select one from appearing bottom of the list

  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 com êxito os dois controladores, suas configurações devem ser semelhantes às seguintes, na categoria "Mouse, teclado, & caneta"

Imagem: Controladores de movimento conectados

Motion controllers connected

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

Atualizando 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.
  • Depois que a atualização de firmware for concluída, os controladores serão reinicializados e reconectados. Ambos os controladores devem estar conectados agora.

    Imagem: Controladores conectados em configurações de Bluetooth

Controllers connected

  • 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, confira a solução de problemas do controlador de movimento.

Observando e apontando

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

  • Com o foco e a confirmação, os usuários direcionam um objeto com seu olhar e, em seguida, selecionam objetos com toques de ar de mão, um gamepad, um clicker ou sua voz.
  • Com o ponto e a confirmação, um usuário pode apontar um controlador de movimento com capacidade para apontar para o objeto de destino e 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 a olhar sempre que possível, para dar aos usuários uma opção em quais dispositivos de entrada eles usam.

Gerenciando o 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 puxam o gatilho, seu aplicativo pode ajustar seu raio de destino 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 direcionamento alguns quadros depois que o valor do gatilho atingir 1,0, desde que a imprensa final ocorra em uma janela de tempo curta. Ao usar o gesto de toque composto de nível superior, Windows gerenciará essa captura de raios de destino e o tempo limite para você.

Pose de aderência versus pose apontando

Windows Mixed Reality dá suporte a controladores de movimento em diferentes fatores de 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 aderência e a pose do ponteiro.

Pose de aderência

A pose de aderência representa o local da palma da mão detectada por um HoloLens ou da palma da mão que contém um controlador de movimento.

Em headsets imersivos, a pose de aderência é 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 aderência também é usada ao visualizar um controlador de movimento, pois o modelo renderizável fornecido por Windows para um controlador de movimento usa a pose de aderência como sua origem e centro de rotação.

A pose de aderência é definida especificamente da seguinte maneira:

  • A posição de aderência: o centroide da palma da mão ao manter 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 aderência: 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 mão esquerda, para trás da palma da direita)
  • O eixo De frente da orientação de aderência: quando você fecha a mão parcialmente (como se estivesse segurando o controlador), o raio que aponta "para a frente" através do tubo formado por seus dedos não polegares.
  • O eixo Up da orientação de aderência: o eixo Up implícito pelas definições Direita e Encaminhamento.

Pose de ponteiro

A pose do ponteiro representa a ponta do controlador apontando para a 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 fone de ouvido, na maioria dos casos Windows continuarão a inferir posições do controlador e fornecê-los ao aplicativo. Quando o controlador perder o controle 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 eles se movem, enquanto ainda expõe a orientação verdadeira 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.


Raciocínio sobre o acompanhamento do estado explicitamente

Aplicativos que desejam tratar posições de forma diferente com base no estado de acompanhamento podem ir mais longe 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 rastreamento 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 fone de ouvido, 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 de fone de ouvido (por exemplo, pela 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 (em risco de perda): Quando o usuário mover o controlador de movimento para além da borda do campo de exibição do fone de ouvido, o fone de ouvido em breve não poderá controlar visualmente a posição do controlador. O aplicativo sabe quando o controlador atingiu esse limite FOV vendo o SourceLossRisk atingir 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 perder o controle 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 eles se movem, enquanto ainda expõe a orientação verdadeira 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 sentir 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.
  • Nenhuma posição: Embora o controlador possa operar com precisão aproximada por um longo tempo, às vezes o sistema sabe que 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 é então pego por outra pessoa. Nesses momentos, o sistema não fornecerá nenhuma posição ao aplicativo e TryGetPosition retornará false.

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

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

  • A seleção é a principal interação para ativar um holograma, consistindo em uma imprensa seguida de 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ê aprenderá uma vez e, em seguida, aplicará em todos os seus aplicativos.
  • Menu é a interação secundária para agir em um objeto, usado para puxar um menu de contexto ou tomar alguma outra ação secundária. Com 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 "menu" do hambúrguer nele)
  • A compreensão é como os usuários podem agir diretamente em objetos em suas mãos para manipulá-los. Com 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, um 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, estado tocado e coordenadas XY normalizadas. O intervalo X e Y varia de -1 a 1 no intervalo do touchpad circular, com um centro em (0, 0). Para X, -1 está à esquerda e 1 está à 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 polegar. Os polegares também fornecem um estado pressionado e coordenadas XY normalizadas. O intervalo X e Y varia de -1 a 1 no intervalo do touchpad circular, com um centro em (0, 0). Para X, -1 está à esquerda e 1 está à 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 no 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 "Hey Cortana, Go Home". Os aplicativos não podem reagir especificamente às ações do Home, 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 rastreados 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, quer os usuários acabem usando mãos ou controladores.

Renderizando o modelo do controlador de movimento

Modelos de controlador 3D Windows disponibilizam 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 encaminhamento para quaisquer designs futuros 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 deseje 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, dado o design físico desse controlador.

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

Arte da linha do controlador 2D Embora recomendemos 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 em 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).

Preview of motion controllers line art

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

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

Perguntas frequentes

Posso emparelhar controladores de movimento com vários computadores?

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

Como fazer firmware do controlador de movimento de atualização?

O firmware do controlador de movimento faz parte do driver do fone de ouvido e será atualizado automaticamente na conexão, se necessário. As atualizações de firmware normalmente levam de 1 a 2 minutos, dependendo Bluetooth qualidade do rádio e do link. Em casos raros, as atualizações de firmware do controlador podem levar até 10 minutos, o que pode indicar uma falha Bluetooth conectividade ou interferência de rádio. Consulte Bluetooth práticas recomendadas no Guia de 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 observar que os LEDs ficam brilhantes para acompanhamento). Se uma atualização de firmware for interrompida (por exemplo, os controladores perderão energia), ela será tentada novamente na próxima vez que os controladores forem ativados.

Como posso verificar o nível da 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á nenhum 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 Windows Universais.

Solução de problemas

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

Arquivar comentários/bugs do controlador de movimento

Envie comentários no Hub de Comentários usando a categoria "Realidade Misturada –> Entrada".

Confira também