Freigeben über


Tastatureingabe in Unity

Namespace: UnityEngine
Typ: TouchScreenKeyboard

Während HoloLens viele Arten von Eingaben unterstützt, einschließlich Bluetooth-Tastaturen, können die meisten Anwendungen nicht davon ausgehen, dass alle Benutzer über eine physische Tastatur verfügen. Wenn Ihre Anwendung Texteingaben erfordert, sollte eine Form der Bildschirmtastatur bereitgestellt werden.

Unity stellt die TouchScreenKeyboard-Klasse bereit, um Tastatureingaben zu akzeptieren, wenn keine physische Tastatur verfügbar ist.

HoloLens-Systemtastaturverhalten in Unity

Auf HoloLens nutzt das TouchScreenKeyboard die Bildschirmtastatur des Systems und überlagert direkt über die volumetrische Ansicht Ihrer MR-Anwendung. Die Erfahrung ähnelt der Verwendung der Tastatur in den integrierten Apps von HoloLens. Beachten Sie, dass sich die Systemtastatur entsprechend den Funktionen der Zielplattform verhält, z. B. würde die Tastatur auf HoloLens 2 direkte Handinteraktionen unterstützen, während die Tastatur auf HoloLens (1. Generation) GGV (Blick, Gestik und Stimme) unterstützt. Darüber hinaus wird die Systemtastatur nicht angezeigt, wenn Unity Remoting vom Editor zu einer HoloLens ausgeführt wird.

Verwenden der Systemtastatur in Ihrer Unity-App

Deklarieren der Tastatur

Deklarieren Sie in der Klasse eine Variable zum Speichern des TouchScreenKeyboards und einer Variablen, die die Zeichenfolge enthält, die die Tastatur zurückgibt.

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

Aufrufen der Tastatur

Wenn ein Ereignis auftritt, das Tastatureingaben anfordert, verwenden Sie Folgendes, um die Tastatur anzuzeigen.

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

Sie können zusätzliche Parameter verwenden, die an die TouchScreenKeyboard.Open Funktion übergeben werden, um das Verhalten der Tastatur zu steuern (z. B. Festlegen von Platzhaltertext oder Unterstützen der AutoKorrektur). Die vollständige Liste der Parameter finden Sie in der Dokumentation von Unity.

Abrufen von eingegebenen Inhalten

Der Inhalt kann einfach durch Aufrufen keyboard.textabgerufen werden. Sie können den Inhalt pro Frame oder nur dann abrufen, wenn die Tastatur geschlossen wird.

keyboardText = keyboard.text;

Alternative Tastaturoptionen

Neben der direkten Verwendung der TouchScreenKeyboard-Klasse können Sie auch Benutzereingaben mithilfe des UI-Eingabefelds oder des TextMeshPro-Eingabefelds von Unity abrufen. Darüber hinaus gibt es eine Implementierung, die auf TouchScreenKeyboard in der HandInteractionExamples-Szene von MRTK basiert (es gibt ein Beispiel für Tastaturinteraktionen auf der linken Seite).

Nächster Entwicklungsprüfpunkt

Wenn Sie die Von uns bereitgestellte Unity-Entwicklungsreise folgen, befinden Sie sich mitten in der Erkundung der Mixed Reality-Plattformfunktionen und APIs. Von hier aus können Sie weiterhin zu jedem Thema wechseln oder direkt zur Bereitstellung Ihrer App auf einem Gerät oder Emulator springen.