Interaktionsmodus-Manager — MRTK3

Ein Interaktionsmodus stellt eine Teilmenge von Interaktionsteilnehmern dar, die basierend auf kontextbezogenen Informationen zu dem, was der Benutzer tut, aktiviert werden soll. Ein Nahinteraktionsmodus kann zum Beispiel alle Ray-Interaktionsgeräte deaktivieren, während er die Verwendung von Greif- und Pokeinteraktionen erlaubt. Umgekehrt, wenn der Benutzer ein Objekt eingreift, möchten Sie möglicherweise einen Nahinteraktionsmodus eingeben, der den Touchinteraktionsmodus deaktiviert, wodurch versehentliche Touchaktivierungen verhindert werden, während sie das Objekt ergreift.

Sample Near Interaction Mode

Der Interaktionsmodus-Manager vermittelt zwischen diesen Interaktionskontexten. Es basiert auf dem Modus-Interaktionsmodus-Detektor, um den besten Modus für den aktuellen Kontext zu bestimmen. Modusdetektoren, wie z. B. ProximityModeDetector, diktieren, welcher Modus für einen bestimmten Controller basierend auf beliebigen Bedingungen aktiv sein sollte. Entwickler können neue Möglichkeiten erstellen, um zwischen Interaktionskontexten zu disambiguieren, indem Sie sie implementieren IInteractionModeDetector.

Near Interaction Mode Detector in Action

Die Priorität jedes Modus wird durch die Reihenfolge im Interaktionsmodus-Manager bestimmt. Modi, die später in der Liste aufgeführt sind, haben höhere Priorität, wodurch sie in Fällen, in denen mehrere Interaktionskontexte gültig sein können, den dominanten Modus machen. Der Interaktionsmodus-Manager ermöglicht es dem Benutzer auch, einen Standardinteraktionsmodus anzugeben.

Mode Manager Priority