Delen via


Toetsenbordinvoer in Unity

Naamruimte: UnityEngine
Type: TouchScreenKeyboard

Hoewel HoloLens veel soorten 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 er een vorm van schermtoetsenbord worden opgegeven.

Unity biedt de TouchScreenKeyboard-klasse 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 direct overlays boven op de volumetrische weergave van uw MR-toepassing. De ervaring is vergelijkbaar met het gebruik van het toetsenbord in de ingebouwde apps van HoloLens. Het systeemtoetsenbord gedraagt zich volgens de mogelijkheden van het doelplatform, bijvoorbeeld het toetsenbord op HoloLens 2 biedt ondersteuning voor directe handinteracties, terwijl het toetsenbord op HoloLens (1e generatie) GGV (Gaze, Gesture en Voice) zou ondersteunen. Daarnaast wordt het systeemtoetsenbord niet weergegeven bij het uitvoeren van Unity Remoting van 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 om de tekenreeks op te slaan die het toetsenbord retourneert.

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

Het toetsenbord aanroepen

Wanneer er een gebeurtenis optreedt die toetsenbordinvoer aanvraagt, 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 tijdelijke aanduidingen voor tekst 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. Mogelijk wilt u de inhoud per frame ophalen of alleen wanneer het toetsenbord is gesloten.

keyboardText = keyboard.text;

Alternatieve toetsenbordopties

Naast het rechtstreeks gebruiken van de TouchScreenKeyboard-klasse, kunt u ook gebruikersinvoer krijgen met behulp van het ui-invoerveld van Unity of textMeshPro-invoerveld. 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).

Volgend controlepunt voor ontwikkeling

Als u het Unity-ontwikkeltraject volgt dat we hebben opgesteld, bevindt u zich midden in het verkennen van de mogelijkheden en API's van het Mixed Reality-platform. Vanaf hier kunt u doorgaan naar elk onderwerp of rechtstreeks naar de implementatie van uw app op een apparaat of emulator gaan.