Billentyűzetbemenet a Unityben

Névtér: UnityEngine
Típus: TouchScreenKeyboard

Bár a HoloLens számos bemenetet támogat, például Bluetooth-billentyűzeteket, a legtöbb alkalmazás nem feltételezheti, hogy minden felhasználó rendelkezik fizikai billentyűzettel. Ha az alkalmazás szöveges bevitelt igényel, valamilyen képernyő-billentyűzetet kell megadni.

A Unity a TouchScreenKeyboard osztályt biztosítja a billentyűzet bemenetének elfogadásához, ha nincs elérhető fizikai billentyűzet.

HoloLens rendszer billentyűzet viselkedése a Unityben

A HoloLensben a TouchScreenKeyboard a rendszer képernyő-billentyűzetét használja, és közvetlenül átfedi az MR-alkalmazás mennyiségi nézetét. A felület hasonló a HoloLens beépített alkalmazásaiban használt billentyűzethez. Vegye figyelembe, hogy a rendszer billentyűzete a célplatform képességeinek megfelelően fog viselkedni, például a HoloLens 2 billentyűzete támogatja a közvetlen kézműveleteket, míg a HoloLens (1. generációs) billentyűzete támogatja a GGV-t (Tekintet, Kézmozdulat és Hang). Emellett a rendszer billentyűzete nem jelenik meg a Unity remoting végrehajtásakor a szerkesztőből a HoloLensbe.

A rendszerbillentyűzet használata a Unity alkalmazásban

A billentyűzet deklarálása

Az osztályban deklaráljon egy változót a TouchScreenKeyboard tárolásához, és egy változót a billentyűzet által visszaadott sztring tárolásához.

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

A billentyűzet meghívása

Ha egy esemény billentyűzetbemenetet kér, az alábbival jelenítheti meg a billentyűzetet.

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

A függvénynek TouchScreenKeyboard.Open átadott további paraméterekkel szabályozhatja a billentyűzet viselkedését (például helyőrző szöveg beállítása vagy az automatikus javítás támogatása). A paraméterek teljes listáját a Unity dokumentációjában találja.

Beírt tartalom lekérése

A tartalom egyszerűen lekérhető a hívással keyboard.text. Előfordulhat, hogy a tartalmat képkockánként vagy csak a billentyűzet bezárásakor szeretné lekérni.

keyboardText = keyboard.text;

Alternatív billentyűzetbeállítások

A TouchScreenKeyboard osztály közvetlen használata mellett felhasználói bevitelt is kaphat a Unity felhasználói felületi beviteli mezőjével vagy TextMeshPro beviteli mezőjével. Emellett az MRTK HandInteractionExamples jelenetében található egy TouchScreenKeyboard-alapú implementáció (a bal oldalon billentyűzet-interakciós minta található).

Következő fejlesztési ellenőrzőpont

Ha követi a Unity által ismertetett fejlesztési folyamatot, akkor a Mixed Reality platform képességeinek és API-inak felfedezése közepén jár. Innen folytathatja a témakört , vagy közvetlenül az alkalmazás eszközre vagy emulátorra való üzembe helyezésére ugorhat.