Delen via


Invoeracties — MRTK2

Invoeracties zijn abstracties van onbewerkte invoer die bedoeld zijn om toepassingslogica te isoleren van de specifieke invoerbronnen die een invoer produceren. Het kan bijvoorbeeld handig zijn om een actie Selecteren te definiëren en deze toe te wijzen aan de linkermuisknop, een knop in een gamepad en een trigger in een 6 DOF-controller. Vervolgens kunt u uw toepassingslogica laten luisteren naar invoeractie-gebeurtenissen selecteren in plaats van op de hoogte te zijn van alle verschillende invoer die deze kan produceren.

Een invoeractie maken

Invoeracties worden geconfigureerd in het profiel Invoeracties, in het invoersysteemprofiel in het onderdeel Mixed Reality Toolkit, waarbij een naam voor de actie wordt opgegeven en het type invoer (asbeperking) waaraan deze kan worden toegewezen:

Invoeractie

Dit zijn de meest gebruikte waarden voor asbeperking:

Asbeperking Beschrijving
Digitaal Aan/uit-invoer, zoals een binaire knop in een gamepad of muis.
Eén as Analoge invoer met één as, zoals een analoge trigger in een gamepad.
Dubbele as Dubbele as analoge invoer als een duimstick.
Zes dof 3D-pose met vertaling en rotatie zoals die geproduceerd door 6 DOF-controllers.

U vindt de volledige lijst in AxisType.

Invoer toewijzen aan acties

De manier waarop u een invoer en actie toewijst, is afhankelijk van het type invoerbron:

Controllerinvoer

Ga naar het invoertoewijzingsprofiel controller onder invoersysteemprofiel. Hier vindt u een lijst met alle ondersteunde controllers:

Invoertoewijzingsprofiel

Selecteer het item dat u wilt configureren en er wordt een dialoogvenster weergegeven met alle controllerinvoer, waarin u een actie voor elk van deze items kunt instellen:

Toewijzing van invoeractie

Spraakinvoer

In het spraakopdrachtprofiel, onder het invoersysteemprofiel, vindt u de lijst met momenteel gedefinieerde spraakopdrachten. Als u een actie wilt toewijzen aan een actie, selecteert u deze in de vervolgkeuzelijst Actie .

Spraakopdrachtenprofiel

Invoer van bewegingen

Het gestures-profiel, onder het invoersysteemprofiel, bevat alle gedefinieerde bewegingen. U kunt ze allemaal toewijzen aan een actie door deze te selecteren in de vervolgkeuzelijst Actie .

Gebaarprofiel

Invoeracties verwerken

Waarschuwing

Momenteel kunnen alleen invoeracties van het type Digitaal worden verwerkt met behulp van de methoden die in deze sectie worden beschreven. Voor andere actietypen moet u in plaats daarvan rechtstreeks de gebeurtenissen voor de bijbehorende invoer verwerken. Als u bijvoorbeeld een actie van 6 DOF wilt afhandelen die is toegewezen aan controllerinvoer, moet u gebruiken IMixedRealityGestureHandler<T> met T = MixedRealityPose.

De eenvoudigste manier om invoeracties af te handelen, is door gebruik te maken van het InputActionHandler script. Hiermee kunt u de actie definiëren waarnaar u wilt luisteren en reageren op acties die zijn gestart en beëindigd met behulp van Unity-gebeurtenissen.

Acton-handler

Als u meer controle wilt, kunt u de IMixedRealityInputActionHandler interface rechtstreeks in uw script implementeren. Zie de sectie Invoer gebeurtenissen voor meer informatie over het verwerken van gebeurtenissen via handler-interfaces.

Voorbeelden

Zie MRTK/Examples/Demos/Input/Scenes/InputActions voor een voorbeeldscène die laat zien hoe u een actie maakt, deze toe te wijzen aan controller- en spraak- en gebareninvoer en deze te gebruiken om een object te draaien in opdracht.

Voorbeeld van invoeractie