Entrada desde teclado en Unity

Espacio de nombres:UnityEngine
Tipo:TouchScreenKeyboard

Aunque HoloLens admite muchas formas de entrada, incluidos Bluetooth teclados, la mayoría de las aplicaciones no pueden suponer que todos los usuarios tendrán un teclado físico disponible. Si la aplicación requiere entrada de texto, se debe proporcionar algún tipo de teclado en pantalla.

Unity proporciona la clase TouchScreenKeyboard para aceptar entradas de teclado cuando no hay ningún teclado físico disponible.

HoloLens de teclado del sistema en Unity

En HoloLens, TouchScreenKeyboard aprovecha el teclado en pantalla del sistema y se superpone directamente sobre la vista volumétrica de la aplicación de MR. La experiencia es similar al uso del teclado en las aplicaciones integradas de HoloLens. Tenga en cuenta que el teclado del sistema se comportará según las funcionalidades de la plataforma de destino; por ejemplo, el teclado de HoloLens 2 admitiría interacciones de manos directas, mientras que el teclado de HoloLens (1.ª generación) admitiría GGV (mirada, gesto y voz). Además, el teclado del sistema no se mostrará al realizar la comunicación remota de Unity desde el editor a un HoloLens.

Uso del teclado del sistema en la aplicación de Unity

Declarar el teclado

En la clase , declare una variable para almacenar TouchScreenKeyboard y una variable para contener la cadena que devuelve el teclado.

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

Invocación del teclado

Cuando se produzca un evento que solicite la entrada de teclado, use lo siguiente para mostrar el teclado.

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

Puede usar parámetros adicionales pasados a la función para controlar el comportamiento del teclado (por ejemplo, establecer texto de marcador de posición o admitir la TouchScreenKeyboard.Open autocorrección). Para obtener la lista completa de parámetros, consulte la documentación de Unity.

Recuperación del contenido con tipo

El contenido se puede recuperar simplemente llamando a keyboard.text . Es posible que quiera recuperar el contenido por fotograma o solo cuando se cierre el teclado.

keyboardText = keyboard.text;

Opciones alternativas de teclado

Además de usar directamente la clase TouchScreenKeyboard, también puede obtener la entrada del usuario mediante el campo de entrada de la interfaz de usuario de Unity o el campo de entrada TextMeshPro. Además, hay una implementación basada en TouchScreenKeyboard en la escena HandInteractionExamples de MRTK (hay un ejemplo de interacción con el teclado en el lado izquierdo).

Siguiente punto de control de desarrollo

Si sigue el recorrido de desarrollo de Unity que hemos diseñado, está en la antes de explorar las API y las funcionalidades de Mixed Reality plataforma. Desde aquí, puede continuar con cualquier tema o saltar directamente a la implementación de la aplicación en un dispositivo o emulador.