Ações de entrada

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.

Criando uma ação de entrada

As ações de entrada são configuradas no Perfil de Ações de Entrada , dentro do Perfil do Sistema de Entrada no componente Toolkit de Realidade Misturada, especificando um nome para a ação e o tipo de entradas ( Restrição de Eixo ) para os quais ele pode ser mapeado:

Input Action

Estes são os valores mais comumente usados para Restrição de Eixo:

Restrição de eixo Description
Digital Entrada ligar/desligar como um botão binário em um gamepad ou mouse.
Eixo único Entrada de eixo único como um gatilho análogo em um gamepad.
Eixo duplo Entrada de eixo duplo, como um thumbstick.
Seis Dof Pose 3D com conversão e rotação como aquela produzida por 6 controladores DOF.

Você pode encontrar a lista completa em AxisType .

Mapeando a entrada para ações

A maneira como você mapeia uma entrada para a ação e depende do tipo da fonte de entrada:

Entrada do controlador

Vá para o Perfil de Mapeamento de Entrada do Controlador, no Perfil do Sistema de Entrada. Lá, você encontrará uma lista de todos os controladores com suporte:

Input maping profile

Selecione aquela que você deseja configurar e uma janela de diálogo será exibida com todas as entradas do controlador, permitindo que você de definir uma ação para cada uma delas:

Input Action Assignment

Entrada de fala

No Perfil de Comando de Fala, no Perfil do Sistema de Entrada, você encontrará a lista de comandos de fala definidos no momento. Para mapear um deles para uma ação, basta selecioná-lo na lista lista de ações.

Speech Commands profile

Entrada de gesto

O Perfil de Gestos, no Perfil do Sistema de Entrada, contém todos os gestos definidos. Você pode mapear cada um deles para uma ação selecionando-a na lista de lista de ações.

Gesture profile

Manipulando ações de entrada

Aviso

Atualmente, somente as ações de entrada do tipo Digital podem ser tratadas usando os métodos descritos nesta seção. Para outros tipos de ação, você terá que manipular diretamente os eventos para as entradas correspondentes. Por exemplo, para lidar com uma ação de 6 DOF mapeada para entradas do controlador, você terá que usar IMixedRealityGestureHandler<T> com T = MixedRealityPose .

A maneira mais fácil de lidar com ações de entrada é usar o InputActionHandler script. Isso permite que você defina a ação que deseja escutar e reagir a eventos iniciados e encerrados usando eventos do Unity.

Acton Handler

Se você quiser mais controle, poderá implementar a IMixedRealityInputActionHandler interface diretamente em seu script. Consulte a seção Eventos de Entrada para obter mais detalhes sobre a manipulação de eventos por meio de interfaces de manipulador.

Exemplos

Consulte para ver uma cena de exemplo mostrando como criar uma ação, mapeá-la para entradas de controlador, fala e gesto e usá-la para girar um MRTK/Examples/Demos/Input/Scenes/InputActions objeto no comando .

Input action example