Tastatureingabe in Unity

Namespace:UnityEngine
Typ: TouchScreenKeyboard

Während HoloLens viele Eingabeformen 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 Art Bildschirmtastatur bereitgestellt werden.

Unity bietet die TouchScreenKeyboard-Klasse zum Akzeptieren von Tastatureingaben, wenn keine physische Tastatur verfügbar ist.

HoloLens-Systemtastataturverhalten in Unity

Auf HoloLens nutzt das TouchScreenKeyboard die Bildschirmtastatur des Systems und überlagert direkt 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. die Tastatur auf HoloLens 2 direkte Handinteraktionen unterstützen würde, während die Tastatur auf HoloLens (1. Generation) GGV (Blick, Geste und Stimme) unterstützen würde. Darüber hinaus wird die Systemtastatur nicht angezeigt, wenn Unity Remoting vom Editor auf eine 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 eine Variable, die die von der Tastatur zurückgegebene Zeichenfolge enthält.

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

Aufrufen der Tastatur

Wenn ein Ereignis auftritt, das die Tastatureingabe 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ützung der Autokorrektur). Die vollständige Liste der Parameter finden Sie in der Dokumentation von Unity.

Abrufen von typisierten Inhalten

Der Inhalt kann einfach durch Aufrufen keyboard.textvon abgerufen werden. Möglicherweise möchten Sie den Inhalt pro Frame oder nur dann abrufen, wenn die Tastatur geschlossen ist.

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 (auf der linken Seite befindet sich ein Beispiel für die Tastaturinteraktion).

Nächster Entwicklungsprüfpunkt

Wenn Sie die von uns beschriebene Unity-Entwicklungsreise verfolgen, sind Sie gerade dabei, die Mixed Reality Plattformfunktionen und APIs zu erkunden. Von hier aus können Sie zu einem beliebigen Thema fortfahren oder direkt zur Bereitstellung Ihrer App auf einem Gerät oder Emulator springen.