Administrador de modo de interacción: MRTK3

Información general

Un modo de interacción representa un subconjunto de interactivos que se deben habilitar en función de la información contextual sobre lo que hace el usuario. Por ejemplo, un modo de interacción Cerca puede deshabilitar todos los interactivos de rayos y permitir el uso de los interactivos de agarre y toque. A la inversa, si el usuario está agarrando un objeto, es posible que quiera especificar un modo de interacción de agarre Cerca, que deshabilita el interactivo táctil, lo que evita que se produzcan activaciones táctiles accidentales al agarrar el objeto.

Modo de interacción cercana de ejemplo

El Administrador de modo de interacción media entre estos contextos de interacción. Se basa en el Detector de modo de interacción para determinar el mejor modo para el contexto actual. Los detectores de modo, como ProximityModeDetector, dictan qué modo debe estar activo para un controlador determinado en función de cualquier condición arbitraria. Los desarrolladores pueden crear nuevas formas de eliminar la ambigüedad entre contextos de interacción mediante la implementación de IInteractionModeDetector.

Detector de modo de interacción cercana en acción

La prioridad de cada modo viene determinada por el orden en el Administrador de modo de interacción. Los modos enumerados más adelante en la lista tienen mayor prioridad, lo que los convierte en los modos dominantes en aquellos casos en los que varios contextos de interacción pueden ser válidos. El Administrador de modo de interacción también permite al usuario especificar un modo de interacción predeterminado.

Prioridad del Administrador de modo

Detectores

MrTK contiene una implementación establecida IInteractionModeDetectors , cada una de las cuales especifica qué InteractionMode habilitar o deshabilitar.

Detector de interacción

InteractionDetector Habilita o deshabilita el puntero especificado y selecciona los modos de interacción cada vez que uno de los interactores asociados tiene un puntero o un destino de selección válidos.

Detector de proximidad

ProximityDetector Habilita o deshabilita el modo de interacción especificado cuando el detector está cerca del colisionador de un objeto interactable.

Detector de modo de interacción cercana

NearInteractionModeDetector Habilita o deshabilita el modo de interacción especificado cuando el detector o uno de los interactores asociados está cerca del colisionador de am interactable.