Acciones de entrada: MRTK2

Las acciones de entrada son abstracciones sobre entradas sin procesar diseñadas para ayudar a aislar la lógica de la aplicación de los orígenes de entrada específicos que generan una entrada. Puede ser útil, por ejemplo, definir una acción Seleccionar y asignarla al botón izquierdo del mouse, un botón en un controlador para juegos y un desencadenador en un controlador DOF 6. A continuación, puede hacer que la lógica de la aplicación escuche los eventos seleccionar acción de entrada en lugar de tener en cuenta todas las entradas diferentes que pueden generarla.

Creación de una acción de entrada

Las acciones de entrada se configuran en el perfil de acciones de entrada, dentro del perfil del sistema de entrada en el componente de Mixed Reality Toolkit, especificando un nombre para la acción y el tipo de entradas (restricción de eje) a la que se puede asignar:

Input Action

Estos son los valores que se usan con más frecuencia para la restricción axis:

Restricción axis Descripción
Digital Entrada activada o desactivada como un botón binario en un controlador para juegos o un mouse.
Eje único Entrada analógica de un solo eje como un desencadenador analógico en un controlador para juegos.
Eje dual Entrada analógica del eje dual como un stick digital.
Seis Dof Posición 3D con traslación y rotación como la producida por 6 controladores DOF.

Puede encontrar la lista completa en AxisType.

Asignación de entradas a acciones

La forma en que asigna una entrada a y una acción depende del tipo del origen de entrada:

Entrada del controlador

Vaya al perfil de asignación de entrada del controlador, en El perfil del sistema de entrada. Allí encontrará una lista de todos los controladores admitidos:

Input maping profile

Seleccione la que quiera configurar y aparecerá una ventana de diálogo con todas las entradas del controlador, lo que le permite establecer una acción para cada una de ellas:

Input Action Assignment

Entrada de voz

En el perfil de comandos de voz, en El perfil del sistema de entrada, encontrará la lista de comandos de voz definidos actualmente. Para asignar uno de ellos a una acción, selecciónelo en la lista desplegable Acción .

Speech Commands profile

Entrada de gestos

El perfil de gestos, en el perfil del sistema de entrada, contiene todos los gestos definidos. Para asignar cada una de ellas a una acción, selecciónela en la lista desplegable Acción .

Gesture profile

Control de acciones de entrada

Advertencia

Actualmente, solo se pueden controlar las acciones de entrada del tipo Digital mediante los métodos descritos en esta sección. En el caso de otros tipos de acciones, tendrá que controlar directamente los eventos de las entradas correspondientes en su lugar. Por ejemplo, para controlar una acción DOF 6 asignada a las entradas del controlador, tendrá que usar IMixedRealityGestureHandler<T> con T = MixedRealityPose.

La manera más fácil de controlar las acciones de entrada es usar el InputActionHandler script. Esto le permite definir la acción a la que desea escuchar y reaccionar a los eventos iniciados y finalizados mediante eventos de Unity.

Acton Handler

Si quiere más control, puede implementar la interfaz directamente en el IMixedRealityInputActionHandler script. Consulte la sección Eventos de entrada para obtener más información sobre el control de eventos a través de interfaces de controlador.

Ejemplos

Vea MRTK/Examples/Demos/Input/Scenes/InputActions para ver una escena de ejemplo en la que se muestra cómo crear una acción, asignarla a entradas de controlador, voz y gestos y usarla para girar un objeto en el comando.

Input action example