Ações de entrada — MRTK2

As Ações de Entrada são abstrações sobre entradas não processadas destinadas a ajudar a isolar a lógica da aplicação das origens 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 rato, um botão num gamepad e um acionador num controlador DOF 6. Em seguida, pode fazer com que a sua lógica de aplicação ouça Selecionar eventos de ação de entrada em vez de ter de estar ciente de todas as diferentes entradas que podem produzi-la.

Criar uma ação de entrada

As ações de entrada são configuradas no Perfil de Ações de Entrada, no Perfil do Sistema de Entrada no componente Mixed Reality Toolkit, especificando um nome para a ação e o tipo de entradas (Restrição do Eixo) a que pode ser mapeado:

Ação de Entrada

Estes são os valores utilizados mais frequentemente para a Restrição do Eixo:

Restrição do Eixo Descrição
Digital Entrada ativada/desativada, como um botão binário num gamepad ou rato.
Eixo Único Entrada analógica de eixo único como um acionador analógico num gamepad.
Eixo Duplo Entrada analógica de eixo duplo como um thumbstick.
Seis Dof Pose 3D com tradução e rotação como a produzida por 6 controladores DOF.

Pode encontrar a lista completa em AxisType.

Mapear entrada para ações

A forma como mapeia uma entrada e ação depende do tipo da origem de entrada:

Entrada do controlador

Aceda ao Perfil de Mapeamento de Entrada do Controlador, no Perfil do Sistema de Entrada. Aí encontrará uma lista de todos os controladores suportados:

Perfil de mapeamento de entrada

Selecione a que pretende configurar e será apresentada uma janela de diálogo com todas as entradas do controlador, permitindo-lhe definir uma ação para cada uma delas:

Atribuição de Ação de Entrada

Entrada de voz

No Perfil de Comando de Voz, no Perfil do Sistema de Entrada, encontrará a lista de comandos de voz atualmente definidos. Para mapear um deles para uma ação, basta selecioná-lo no menu pendente Ação .

Perfil de Comandos de Voz

Entrada de gestos

O Perfil de Gestos, no Perfil do Sistema de Entrada, contém todos os gestos definidos. Pode mapear cada um deles para uma ação ao selecioná-la no menu pendente Ação .

Perfil de gesto

Processar ações de entrada

Aviso

Atualmente, apenas as ações de entrada do Tipo digital podem ser processadas com os métodos descritos nesta secção. Para outros tipos de ação, terá de processar diretamente os eventos das entradas correspondentes. Por exemplo, para processar uma ação de 6 DOF mapeadas para entradas do controlador, terá de utilizar IMixedRealityGestureHandler<T> com T = MixedRealityPose.

A forma mais fácil de lidar com as ações de entrada é utilizar o InputActionHandler script. Isto permite-lhe definir a ação que pretende ouvir e reagir a eventos iniciados e terminados através de Eventos do Unity.

Processador acton

Se quiser mais controlo, pode implementar a IMixedRealityInputActionHandler interface diretamente no script. Veja a secção Eventos de Entrada para obter mais detalhes sobre o processamento de eventos através de interfaces de processador.

Exemplos

Veja MRTK/Examples/Demos/Input/Scenes/InputActions uma cena de exemplo que mostra como criar uma ação, mapeá-la para entradas de controlador, voz e gesto e utilizá-la para rodar um objeto no comando.

Exemplo de ação de entrada