Share via


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.