Billentyűzetbemenet a Unityben

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

Bár a HoloLens számos beviteli formát támogat, beleértve a Bluetooth-billentyűzeteket is, 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 biztosítja a TouchScreenKeyboard osztályt a billentyűzet bemenetének elfogadásához, ha nincs elérhető fizikai billentyűzet.

A HoloLens rendszerbillentyűzeti viselkedése a Unityben

A HoloLensen a TouchScreenKeyboard a rendszer képernyő-billentyűzetét használja, és közvetlenül ráfedi az MR-alkalmazás mennyiségi nézetére. Ez a funkció hasonló a HoloLens beépített alkalmazásaiban használt billentyűzethez. Vegye figyelembe, hogy a rendszerbillentyűzet 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 rendszerbillentyűzet nem jelenik meg, amikor Unity-remotingot végez a szerkesztőből a HoloLensbe.

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

A billentyűzet deklarálása

A osztályban deklaráljon egy változót a TouchScreenKeyboard tárolásához, és egy változót, amely a billentyűzet által visszaadott sztringet tárolja.

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

A billentyűzet meghívása

Ha egy esemény billentyűzetbemenetet kér, az alábbiak segítségével 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 működését (például helyőrző szöveg beállítása vagy automatikus javítás támogatása). A paraméterek teljes listájáért tekintse meg a Unity dokumentációját.

Beírt tartalom beolvasása

A tartalom egyszerűen lekérhető a meghívásával keyboard.text. Előfordulhat, hogy a tartalmat keretenké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 kérhet a Unity felhasználói felületi beviteli mezőjével vagy TextMeshPro beviteli mezőjével. Emellett az MRTKHandInteractionExamples jelenetében található egy TouchScreenKeyboard-alapú implementáció is (a bal oldalon billentyűzet-interakciós minta található).

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

Ha követi az általunk ismertetett Unity-fejlesztési folyamatot, akkor a Mixed Reality platform képességeinek és API-jainak felfedezésében van része. Innen folytathatja bármelyik témakört , vagy közvetlenül az alkalmazás eszközre vagy emulátorra való üzembe helyezésére ugorhat.