Input da tastiera in Unity

Spazio dei nomi:UnityEngine
Tipo:TouchScreenKeyboard

Sebbene HoloLens supporti molte forme di input, Bluetooth tastiere, la maggior parte delle applicazioni non può presupporre che tutti gli utenti avranno una tastiera fisica disponibile. Se l'applicazione richiede l'input di testo, deve essere fornita una qualche forma di tastiera su schermo.

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

HoloLens comportamento della tastiera del sistema in Unity

In HoloLens, TouchScreenKeyboard sfrutta la tastiera su schermo del sistema e si sovrappone direttamente alla 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 su HoloLens 2 supporterebbe le interazioni dirette con la mano, mentre la tastiera in HoloLens (prima generazione) supporterebbe GGV (sguardo fisso, movimento e voce). Inoltre, la tastiera di sistema non verrà visualizzato quando si esegue Unity Remoting dall'editor a un 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 nella funzione per controllare il comportamento della tastiera, ad esempio impostando il testo segnaposto o supportando TouchScreenKeyboard.Open la correzione automatica. Per l'elenco completo dei parametri, vedere la documentazione di Unity.

Recuperare il contenuto tipiato

Il contenuto può essere semplicemente recuperato chiamando keyboard.text . È possibile recuperare il contenuto per frame o solo quando la tastiera è 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 (sul lato sinistro è presente un esempio di interazione tramite tastiera).

Successivo checkpoint di sviluppo

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