Condividi tramite


Input da tastiera in Unity

Spazio dei nomi: UnityEngine
Tipo: TouchScreenKeyboard

Anche se HoloLens supporta molte forme di input, incluse le tastiere Bluetooth, la maggior parte delle applicazioni non può presupporre che tutti gli utenti abbiano una tastiera fisica disponibile. Se l'applicazione richiede l'input di testo, deve essere fornita una forma di tastiera su schermo.

Unity fornisce la classe TouchScreenKeyboard per accettare l'input da tastiera quando non è disponibile alcuna tastiera fisica.

Comportamento della tastiera di sistema HoloLens in Unity

In HoloLens, TouchScreenKeyboard sfrutta la tastiera su schermo del sistema e le sovrimpressioni dirette sopra la visualizzazione volumetrica dell'applicazione MR. L'esperienza è simile all'uso della tastiera nelle app predefinite di HoloLens. Si noti che la tastiera di sistema si comporterà in base alle funzionalità della piattaforma di destinazione, ad esempio la tastiera in HoloLens 2 supporterebbe interazioni dirette con la mano, mentre la tastiera in HoloLens (prima generazione) supporterebbe GGV (sguardo, movimento e voce). Inoltre, la tastiera di sistema non verrà visualizzata durante l'esecuzione di Unity Remoting dall'editor a holoLens.

Uso della tastiera di sistema nell'app Unity

Dichiarare la tastiera

Nella classe dichiarare una variabile per archiviare TouchScreenKeyboard e una variabile per contenere la stringa restituita dalla tastiera.

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

Richiamare la tastiera

Quando si verifica un evento che richiede l'input da tastiera, usare quanto segue per visualizzare la tastiera.

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

È possibile usare parametri aggiuntivi passati alla TouchScreenKeyboard.Open funzione per controllare il comportamento della tastiera,ad esempio impostando il testo segnaposto o supportando la correzione automatica. Per l'elenco completo dei parametri, vedere la documentazione di Unity.

Recuperare il contenuto tipizzato

Il contenuto può essere semplicemente recuperato chiamando keyboard.text. È possibile recuperare il contenuto per fotogramma o solo quando la tastiera viene chiusa.

keyboardText = keyboard.text;

Opzioni alternative della tastiera

Oltre a usare direttamente la classe TouchScreenKeyboard, è anche possibile ottenere l'input dell'utente usando il campo di input dell'interfaccia utente di Unity o il campo di input TextMeshPro. Inoltre, è disponibile un'implementazione basata su TouchScreenKeyboard nella scena HandInteractionExamples di MRTK (è disponibile un esempio di interazione da tastiera sul lato sinistro).

Successivo checkpoint di sviluppo

Se si sta seguendo il percorso di sviluppo di Unity, si stanno esplorando le funzionalità e le API della piattaforma Realtà mista. Da qui è possibile continuare con qualsiasi argomento o passare direttamente alla distribuzione dell'app in un dispositivo o in un emulatore.