Invoeracties

Invoeracties zijn abstracties van onbewerkte invoer die is bedoeld 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 wijs aan de linkermuisknop, een knop in een gamepad en een trigger in een 6 DOF-controller. Vervolgens kunt u uw toepassingslogica laten luisteren naar Actiegebeurtenissen voor invoer selecteren in plaats van dat u zich bewust moet zijn van alle verschillende invoer die de actie kan produceren.

Een invoeractie maken

Invoeracties worden geconfigureerd in het profiel Invoeracties in het invoersysteemprofiel in het Mixed Reality Toolkit-onderdeel, waarin een naam wordt opgegeven voor de actie en het type invoer(asbeperking) dat kan worden opgegeven aan:

Input Action

Dit zijn de meest gebruikte waarden voor asbeperking:

Asbeperking Description
Digitaal Invoer aan/uit, zoals een binaire knop in een gamepad of muis.
Eén as Invoer van de enkelvoudige as als een analoog trigger in een gamepad.
Dubbele as Invoer van dubbele asinvoer zoals een vingerafdruk.
Zes dof 3D-houding met vertaling en rotatie, zoals de positie die wordt geproduceerd door 6 DOF-controllers.

U vindt de volledige lijst in AxisType .

Invoer toewijzen aan acties

De manier waarop u invoer toekent aan en actie is afhankelijk van het type invoerbron:

Controllerinvoer

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

Input maping profile

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

Input Action Assignment

Spraakinvoer

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

Speech Commands profile

Bewegingsinvoer

Het profiel Gebaren, onder het invoersysteemprofiel, bevat alle gedefinieerde gebaren. U kunt elk van deze aan een actie toe te kennen door deze te selecteren in de vervolgkeuzemap Actie.

Gesture profile

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 6 DOF-actie wilt verwerken die is toe te staan aan controllerinvoer, moet u gebruiken IMixedRealityGestureHandler<T> met T = MixedRealityPose .

De eenvoudigste manier om invoeracties te verwerken, is door gebruik te maken van het InputActionHandler script. Hiermee kunt u de actie definiëren die u wilt luisteren en reageren op gestarte en beëindigde gebeurtenissen met unity-gebeurtenissen.

Acton Handler

Als u meer controle wilt, kunt u de IMixedRealityInputActionHandler interface rechtstreeks in uw script implementeren. Zie de sectie Invoergebeurtenissen voor meer informatie over de verwerking van gebeurtenissen via handlerinterfaces.

Voorbeelden

Zie voor een voorbeeldscène die laat zien hoe u een actie maakt, deze toe te wijst aan invoer van controller, spraak en gebaren en hoe u deze gebruikt om een object op MRTK/Examples/Demos/Input/Scenes/InputActions opdracht te draaien.

Input action example