Udostępnij za pośrednictwem


Wprowadzanie za pomocą klawiatury w aucie Unity

Przestrzeń nazw: UnityEngine
Typ: TouchScreenKeyboard

Chociaż urządzenie HoloLens obsługuje wiele form danych wejściowych, w tym klawiatury Bluetooth, większość aplikacji nie może zakładać, że wszyscy użytkownicy będą mieli dostępną klawiaturę fizyczną. Jeśli aplikacja wymaga wprowadzania tekstu, należy podać jakąś formę klawiatury ekranowej.

Aparat Unity udostępnia klasę TouchScreenKeyboard do akceptowania danych wejściowych klawiatury, gdy nie ma dostępnej klawiatury fizycznej.

Zachowanie klawiatury systemowej urządzenia HoloLens w aucie Unity

Na urządzeniu HoloLens tablica TouchScreenKeyboard korzysta z klawiatury na ekranie systemu i bezpośrednio nakłada się na wierzchu widoku woluminowego aplikacji MR. Środowisko jest podobne do używania klawiatury we wbudowanych aplikacjach urządzenia HoloLens. Należy pamiętać, że klawiatura systemowa będzie działać zgodnie z możliwościami platformy docelowej, na przykład klawiatura na urządzeniu HoloLens 2 będzie obsługiwać bezpośrednie interakcje ręczne, podczas gdy klawiatura na urządzeniu HoloLens (1. generacji) będzie obsługiwać GGV (Gaze, Gest i Voice). Ponadto klawiatura systemowa nie będzie wyświetlana podczas wykonywania komunikacji zdalnie aparatu Unity z edytora do urządzenia HoloLens.

Korzystanie z klawiatury systemowej w aplikacji Aparatu Unity

Deklarowanie klawiatury

W klasie zadeklaruj zmienną do przechowywania tablicy TouchScreenKeyboard i zmiennej do przechowywania ciągu zwracanego przez klawiaturę.

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

Wywoływanie klawiatury

Gdy wystąpi zdarzenie żądające wprowadzenia klawiatury, użyj poniższej instrukcji, aby wyświetlić klawiaturę.

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

Możesz użyć dodatkowych parametrów przekazanych do TouchScreenKeyboard.Open funkcji, aby kontrolować zachowanie klawiatury (np. ustawianie tekstu zastępczego lub obsługa autokorekty). Pełną listę parametrów można znaleźć w dokumentacji aparatu Unity.

Pobieranie zawartości wpisanej

Zawartość można po prostu pobrać, wywołując polecenie keyboard.text. Możesz pobrać zawartość na ramkę lub tylko wtedy, gdy klawiatura jest zamknięta.

keyboardText = keyboard.text;

Alternatywne opcje klawiatury

Oprócz bezpośredniego używania klasy TouchScreenKeyboard można również uzyskać dane wejściowe użytkownika przy użyciu pola wejściowego interfejsu użytkownika aparatu Unity lub pola wejściowego TextMeshPro. Ponadto istnieje implementacja oparta na tablicy TouchScreenKeyboard w scenie HandInteractionExamples zestawu narzędzi MRTK (po lewej stronie znajduje się przykład interakcji klawiatury).

Następny punkt kontrolny programowania

Jeśli obserwujesz określoną podróż do opracowywania aparatu Unity, jesteś w trakcie eksplorowania możliwości i interfejsów API platformy rzeczywistości mieszanej. W tym miejscu możesz przejść do dowolnego tematu lub przejść bezpośrednio do wdrażania aplikacji na urządzeniu lub emulatorze.