Visão geral da entrada – MRTK2

O sistema de entrada no MRTK permite que você:

  • Consuma 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 associe-as 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 SystemVisão geral do sistema de entrada 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 Joystick, Windows Speech etc. Os provedores são adicionados ao seu projeto por meio do Perfil de Provedores de Serviços Registrados no componente Realidade Misturada Toolkit e produzirão Eventos de Entrada automaticamente quando as fontes de entrada correspondentes estiverem disponíveis (por exemplo, quando um controlador WMR for 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 DOF 6. Em seguida, você pode fazer com que a lógica do aplicativo ouça os eventos de ação de entrada Selecionar , em vez de ter que estar ciente de todas as diferentes entradas que podem produzi-lo. As Ações de Entrada são definidas no Perfil de Ações de Entrada, encontrado no Perfil do Sistema de Entrada no componente Realidade Misturada Toolkit.

Os controladores são criados por provedores de entrada quando os dispositivos de entrada são detectados e destruídos quando são perdidos ou desconectados. O provedor de entrada WMR, por exemplo, criará controladores WMR para seis dispositivos DOF e controladores de mão articulados do 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 houver.

Os controladores podem ter ponteiros anexados a eles que consultam a cena para determinar o objeto de jogo com foco e gerar 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 configurados no Perfil do Ponteiro, no Perfil do Sistema de Entrada.

Event FlowFluxo de eventos.

Embora você possa lidar com eventos de entrada diretamente em componentes da 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 forma independente do dispositivo. Consulte Acessar o estado de entrada no MRTK para obter mais detalhes.