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 si sovrappone direttamente alla visualizzazionemetrica 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 supporta le interazioni dirette della 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 della tastiera alternative
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 (è presente un esempio di interazione tramite tastiera sul lato sinistro).
Successivo checkpoint di sviluppo
Se si sta seguendo il percorso di sviluppo di Unity, è possibile esplorare le funzionalità e le API della piattaforma Realtà mista. Da qui è possibile continuare a qualsiasi argomento o passare direttamente alla distribuzione dell'app in un dispositivo o in un emulatore.