Visão geral de 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.
- Configurar ponteiros anexados a controladores para conduzir componentes da interface do usuário por meio de eventos de foco e ponteiro.
As entradas são produzidas por provedores de dados de entrada (Gerenciador de Dispositivos). Cada provedor corresponde a uma determinada fonte 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 kit de ferramentas do Realidade Misturada 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 6 DOF. Em seguida, você pode fazer com que a lógica do aplicativo ouça Selecionar eventos de ação de entrada em vez de ter que estar ciente de todas as entradas diferentes 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 kit de ferramentas do Realidade Misturada.
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 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 houver.
Os controladores podem ter ponteiros anexados a eles que consultam a cena para determinar o objeto do 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 de Ponteiro, no Perfil do Sistema de Entrada.
eventos Fluxo de eventos.Embora você possa manipular 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 maneira independente do dispositivo. Consulte Acessando o estado de entrada no MRTK para obter mais detalhes.