Delen via


Toetsenbordinvoer in Unity

Naamruimte:UnityEngine
Type: TouchScreenKeyboard

Hoewel HoloLens veel vormen van invoer ondersteunt, waaronder Bluetooth-toetsenborden, kunnen de meeste toepassingen er niet van uitgaan dat alle gebruikers een fysiek toetsenbord beschikbaar hebben. Als voor uw toepassing tekstinvoer is vereist, moet een vorm van schermtoetsenbord worden opgegeven.

Unity biedt de klasse TouchScreenKeyboard voor het accepteren van toetsenbordinvoer wanneer er geen fysiek toetsenbord beschikbaar is.

Gedrag van het HoloLens-systeemtoetsenbord in Unity

Op HoloLens maakt het TouchScreenKeyboard gebruik van het schermtoetsenbord van het systeem en wordt het direct overlays boven op de volumetrische weergave van uw MR-toepassing geplaatst. De ervaring is vergelijkbaar met het gebruik van toetsenbord in de ingebouwde apps van HoloLens. Houd er rekening mee dat het systeemtoetsenbord zich gedraagt volgens de mogelijkheden van het doelplatform, bijvoorbeeld het toetsenbord op HoloLens 2 directe handinteracties ondersteunt, terwijl het toetsenbord op HoloLens (1e generatie) GGV (Gaze, Gesture en Voice) ondersteunt. Bovendien wordt het systeemtoetsenbord niet weergegeven bij het uitvoeren van externe communicatie van Unity vanuit de editor naar een HoloLens.

Het systeemtoetsenbord gebruiken in uw Unity-app

Het toetsenbord declareren

Declareer in de klasse een variabele om het TouchScreenKeyboard op te slaan en een variabele voor de tekenreeks die het toetsenbord retourneert.

UnityEngine.TouchScreenKeyboard keyboard;
public static string keyboardText = "";

Het toetsenbord aanroepen

Wanneer er een gebeurtenis optreedt waarbij toetsenbordinvoer wordt aangevraagd, gebruikt u het volgende om het toetsenbord weer te geven.

keyboard = TouchScreenKeyboard.Open("text to edit");

U kunt aanvullende parameters gebruiken die zijn doorgegeven aan de TouchScreenKeyboard.Open functie om het gedrag van het toetsenbord te bepalen (bijvoorbeeld het instellen van tekst van tijdelijke aanduidingen of het ondersteunen van autocorrectie). Raadpleeg de documentatie van Unity voor de volledige lijst met parameters.

Getypte inhoud ophalen

De inhoud kan eenvoudig worden opgehaald door aan te roepen keyboard.text. U kunt de inhoud per frame ophalen of alleen wanneer het toetsenbord is gesloten.

keyboardText = keyboard.text;

Alternatieve toetsenbordopties

Naast het rechtstreeks gebruiken van de klasse TouchScreenKeyboard , kunt u ook gebruikersinvoer krijgen met behulp van het invoerveld voor de gebruikersinterface van Unity of het invoerveld TextMeshPro. Daarnaast is er een implementatie op basis van TouchScreenKeyboard in de scène HandInteractionExamples van MRTK (er is een voorbeeld van toetsenbordinteractie aan de linkerkant).

Controlepunt volgende ontwikkeling

Als u het Unity-ontwikkelingstraject volgt dat we hebben uitgetekend, bent u bezig met het verkennen van de Mixed Reality platformmogelijkheden en API's. Vanaf hier kunt u doorgaan naar een willekeurig onderwerp of direct beginnen met het implementeren van uw app op een apparaat of emulator.