Sdílet prostřednictvím


Zadávání klávesnice v Unity

Obor názvů: UnityEngine
Typ: TouchScreenKeyboard

I když HoloLens podporuje mnoho forem zadávání, včetně klávesnic Bluetooth, většina aplikací nemůže předpokládat, že všichni uživatelé budou mít k dispozici fyzickou klávesnici. Pokud vaše aplikace vyžaduje textové zadání, měla by být k dispozici nějaká forma klávesnice na obrazovce.

Unity poskytuje třídu TouchScreenKeyboard pro příjem vstupu klávesnice, pokud není k dispozici žádná fyzická klávesnice.

Chování systémové klávesnice HoloLens v Unity

Na HoloLens, TouchScreenKeyboard využívá systém klávesnice na obrazovce a přímo překrytí nad zobrazením multilicenčního zobrazení vaší aplikace MR. Prostředí je podobné použití klávesnice v integrovaných aplikacích HoloLens. Mějte na paměti, že systémová klávesnice se bude chovat podle schopností cílové platformy, například klávesnice na HoloLens 2 podporuje přímé interakce rukou, zatímco klávesnice na HoloLens (1. generace) podporuje GGV (Gaze, Gesto a Hlas). Kromě toho se při provádění komunikace Unity z editoru do HoloLens nezobrazí systémová klávesnice.

Použití systémové klávesnice v aplikaci Unity

Deklarace klávesnice

Ve třídě deklarujte proměnnou pro uložení TouchScreenKeyboardu a proměnné pro uložení řetězce, který vrátí klávesnice.

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

Vyvolání klávesnice

Když dojde k události, která vyžaduje zadání klávesnice, zobrazte klávesnici pomocí následujícího příkazu.

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

Pomocí dalších parametrů předaných do TouchScreenKeyboard.Open funkce můžete řídit chování klávesnice (například nastavení zástupného textu nebo podpůrné automatické opravy). Úplný seznam parametrů najdete v dokumentaci Unity.

Načtení zadaného obsahu

Obsah lze jednoduše načíst voláním keyboard.text. Můžete chtít načíst obsah na rámeček nebo jenom v době, kdy je klávesnice zavřená.

keyboardText = keyboard.text;

Alternativní možnosti klávesnice

Kromě použití TouchScreenKeyboard třídy přímo můžete také získat uživatelský vstup pomocí vstupního pole uživatelského rozhraní Unity nebo TextovéMeshPro vstupní pole. Kromě toho existuje implementace založená na TouchScreenKeyboardu ve scéně HandInteractionExamples MRTK (na levé straně je ukázka interakce klávesnice).

Kontrolní bod dalšího vývoje

Pokud sledujete cestu vývoje Unity, kterou jsme probrali, jste uprostřed zkoumání možností a rozhraní API platformy hybridní reality. Odtud můžete pokračovat k libovolnému tématu nebo přejít přímo k nasazení aplikace na zařízení nebo emulátoru.