Visão geral da entrada

O sistema de entrada no MRTK permite que você:

  • Consumir entradas de uma variedade de fontes de entrada, como 6 controladores DOF, mãos articuladas ou fala, por meio de eventos de entrada.
  • Defina ações abstratas, como Selecionar ou Menu, e associá-las a entradas diferentes.
  • Ponteiros de instalação anexados aos controladores para conduzir componentes da interface do usuário por meio de eventos de foco e ponteiro.
Input System Visão geral do sistema de entrada do MRTK

As entradas são produzidas por provedores de dados de entrada (Gerenciador de Dispositivos). Cada provedor corresponde a uma fonte específica de entrada: OPEN VR, Windows Mixed Reality (WMR), Unity Windows Speech etc. Os provedores são adicionados ao projeto por meio do Perfil de Provedores de Serviços Registrados no componente Toolkit de Realidade Misturada e produzirão Eventos de Entrada automaticamente quando as fontes de entrada correspondentes estão disponíveis (por exemplo, quando um controlador WMR é detectado ou um gamepad conectado).

As Ações de Entrada são abstrações sobre entradas brutas destinadas a ajudar a isolar a lógica do aplicativo das fontes de entrada específicas que produzem uma entrada. Pode ser útil, por exemplo, definir uma ação Selecionar e mapeá-la para o botão esquerdo do mouse, um botão em um gamepad e um gatilho em um controlador de 6 DOF. Em seguida, você pode fazer com que a lógica do aplicativo escute selecionar eventos de ação de entrada em vez de ter que estar ciente de todas as diferentes entradas que podem produzi-los. As ações de entrada são definidas no Perfil de Ações de Entrada, encontrado no Perfil do Sistema de Entrada no componente Toolkit Realidade Misturada.

Os controladores são criados por provedores de entrada quando os dispositivos de entrada são detectados e destruídos quando eles são perdidos ou desconectados. O provedor de entrada WMR, por exemplo, criará controladores WMR para 6 dispositivos DOF e controladores de mão articulados wmR para mãos articuladas. As entradas do controlador podem ser mapeadas para ações de entrada por meio do Perfil de Mapeamento do Controlador, dentro do Perfil do Sistema de Entrada. Os eventos de entrada gerados pelos controladores incluirão a ação de entrada associada, se for o caso.

Os controladores podem ter ponteiros anexados a eles que consultam a cena para determinar o objeto do jogo com foco e aufocar Eventos de Ponteiro nele. Por exemplo, nosso ponteiro de linha executa um raycast na cena usando a pose do controlador para calcular a origem e a direção do raio. Os ponteiros criados para cada controlador são definidos no Perfil de Ponteiro, no Perfil do Sistema de Entrada.

Event Flow Fluxo de eventos.

Embora você possa manipular eventos de entrada diretamente nos componentesda interface do usuário, é recomendável usar eventos de ponteiro para manter a implementação independente do dispositivo.

O MRTK também fornece vários métodos de conveniência para consultar o estado de entrada diretamente de uma maneira independente do dispositivo. Consulte Acessando o estado de entrada no MRTK para obter mais detalhes.